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