经常会用到Git相关的命令,所以写一篇文章记录下这其中比较常用的命令
常用命令
-
新建仓库
1git init -
克隆仓库
1git clone [仓库的地址] -
新建分支
1git branch [分支名] -
切换分支
1git checkout [分支名] -
创建并切换分支
1git checkout -b [分支名] [仓库名/分支名] -
放弃全部更改
1git checkout -- . -
提交
1git commit -m '备注的消息' -
推送
1git push [仓库名] [分支名] -
拉取
1git push [仓库名] [分支名] -
合并-方式1(Merge)
- 切换到主分支
git checkout main- 将需要的分支合到主分支上
git merge fixBug -
合并-方法2(Rebase)
- 切换到主分支
1git checkout main- 将目标分支合并到主分支上
1git rebase main[目标分支] fixBug[需要合并的分支] -
移动提交记录(Cherry-pick)
本质是将提交复制到当前所在的分支
- 切换到主分支
git checkout main - 将想要的提交记录的commit id值记下,然后将其cherry-pick到main上
1git cherry-pick asd2f12 fasddf
- 切换到主分支
-
版本回退-方法1(reset)
1git reset --hard [回退记录的commit id] -
版本回退-方法2(revert)
比如提交记录为
A -> B -> C -> D使用命令
1git revert B^…D现在提交记录为
A-> B ->C -> D -> D'-> C' -> B'❕注:ABCD为4个不同提交记录的commit id
不生成3个新的提交,生成一个提交的写法
1 2git revert -n B^…D git commit -m "revert B to D" -
添加远程仓库
1git remote add [远程仓库名] [仓库的地址] -
查看所有远程仓库
1git remote -v -
删除远程仓库
1git remote rm [远程仓库名] -
修改远程仓库地址
1git remote set-url [远程仓库名] [仓库的地址] -
临时保存更改(Stash)
1git stash save '保存的名字' -
查看已保存的临时更改的列表
1git stash list -
取出(恢复)所有临时更改
1git stash pop -
取出特定临时更改
1git stash list显示如下内容
stash@{0}: .... stash@{1}: .... stash@{2}: .... stash@{3}: .... stash@{4}: ....比如要取出
stash@{1}git stash pop stash@{0}❕注:PowerShell 中使用的时候可能会报
error: unknown switch e,这是因为命令中的花括号({})被 PowerShell 认为是代码块,会将其作为代码执行,将花括号进行转义即可正常使用1git stash pop stash@`{0`}
最后推荐一个学习Git命令的网站——learngitbranching
