简介
本文介绍git分支相关的命令。
查看分支
命令 | 作用 |
git branch | 列出所有本地分支 |
git branch -r | 列出所有远程分支 |
git branch -a | 列出所有本地分支和远程分支 |
新建分支
命令 | 作用 |
git branch [branch] | 新建一个分支,但依然停留在当前分支 |
git branch [branch] [commit] | 新建一个分支,指向指定commit |
git branch --track [branch] [remote-branch] | 新建一个分支,与指定的远程分支建立追踪关系 |
git branch --set-upstream [branch] [remote-branch] | 建立追踪关系:在现有分支与指定的远程分支之间 |
git checkout -b|-B [branch] | 新建一个分支,并切换到该分支。此命令是git branch [branch]; git checkout [branch]的简写。 |
git checkout -b|-B [branch] [tag] | 新建一个分支,指向某个tag |
切换分支
命令 | 作用 |
git checkout [branch] | 切换到指定分支,并更新工作区 |
git checkout - | 切换到上一个分支 |
合并分支
命令 | 作用 |
git merge [branch] | 合并指定分支到当前分支。 这样会保留分支的提交节点,会导致分支杂乱。 |
git cherry-pick [commit] | 选择一个commit,合并进当前分支 |
衍合分支
命令 | 作用 |
git rebase [branch] | 从本地brach分支拉取代码更新当前分支:branch 一般为master |
删除分支
命令 | 作用 |
git branch -d [branch] | 删除分支 |
git branch -dr [remote_branch] | 删除远程分支。等价于:git push origin --delete [branch-name] |
git merge与git rebase区别
git rebase
- 以远程为基准。
- 合并后分支简洁。
git merge
- 以本地为基准。
- 合并后分支杂乱。