本文可以作为手册查看branch相关命令
1. 创建
# 在当前commit对象上创建分支
git branch new_branch_name
# 在当前所在的提交对象上创建一个指针,并切换上去
git checkout -b new_branch_name
# 上述命令等价于
git branch branch
git checkout branch
2. 删除
# 删除本地仓库分支
git branch -d branch_name
# 删除远程仓库分支
git push remote_name --delete remote_branch
3. 查看
# 查看所有分支
git branch
# 查看每一个分支的最后一次提交
git branch -v
# 显示本分支已经合并进来的分支
git branch --merged
# 显示本分支尚未合并进来的分支
git branch --no-merged
# 查看本地跟踪分支,显示信息每一个分支正在跟踪哪个远程分支与本地分支是否是领先、落后
git branch -vv
4.切换分支
# 切换到一个已存在的分支,即head指针指向branch_name所指向的commit
git checkout branch_name
5.合并分支
# 合并分支,将branch分支合并到当前分支,如果branch分支是当前分支直接后继,即可触发快速合并(Fast-forward)
git merge branch
# 快速合并表示两个分支之间不存在冲突,若冲突发生,则会进行“三方合并”
# 冲突:不同的分支中,对同一个文件的同一个部分进行了不同的修改
# 三方合并:寻找两个分支的共同祖先commit,其后的commit对象进行合并
# 如果发生冲突,解决办法
# 合并过程中冲突发生会停止合并,使用git status查看冲突文件,手动解决冲突(选择哪个分支的内容)
# 可视化解决冲突
git mergetool
6.推送分支
# 切换到一个已存在的分支,即head指针指向branch_name所指向的commit
git remote add remotename url
# 推送 将本地分支推送到指定的服务器上面的指定分支
git push remote_name local_branch:remote_branch
7. 拉取分支
# 拉取远程仓库分支
# 本地分支不存在
# [常用]
git checkout -b local_branch remote_name/remote_branch
git checkout --track origin/serverfix
git checkout remote_branch
# 本地分支存在
git branch -u remote_name/remote_branch
# 与远程仓库同步数据;从服务器上抓取本地没有的数据;只会获取数据然后让你自己合并
git fetch remote_name
# 与远程仓库同步数据,并进行合并
git pull remote_name
# 等价于
git fetch remote_name
git merge branch_name