基本操作
1. 查看与切换
git branch # 查看本地分支
git branch -r # 查看远程分支
git branch -a # 查看所有分支
git branch -v # 查看每个分枝的最后一次提交
git checkout 分支名 # 切换至该分支
git checkout -b 分支名 # 新建并切换至该分支
2. 新建与删除
git branch 分支名 # 新建分支,但未切换
git checkout -b 分支名 # 新建并切换至该分支
git branch -d 分支名 # 删除合并过的分支
git branch -D 分支名 # 删除分支(即使未合并)
不能删除当前所在的分支,否则报错。
example: git 分支的重命名、删除
5. 重命名与移动
git branch -m 原分支名 新分支名 # 将原分支名重命名为新分支名
git branch -M 原分支名 新分支名 # 将原分支名重命名为新分支名(即使新分支名已经存在)
git branch -f B1 C2 # 将B1移动到C2上面
git rebase C2 B1
6. 合并(merge)
git checkout 分支名1 # 切换至分支名1
git merge 分支名2 # 将分支名2合并到分支名1
进阶操作
7. 整合(rebase)
8. 拆分(cherry-pick)
一些选项说明
-f --force:强制
-d --delete:删除
-D --delete --force的快捷键
-m --move:移动或重命名
-M --move --force的快捷键
-r --remote:远程
-a --all:所有
-r, --remotes act on remote-tracking branches
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
-c, --copy copy a branch and its reflog
-C copy a branch, even if target exists
git branch --help可打开官方网站的git branch帮助文档。