创建分支
#创建分支
git branch [branch]
#创建分支并切换到分支上
git switch -c [branch]
#新建一个分支,指向指定commit
git branch [branch] [commit]
# 新建一个分支,指向某个tag
git checkout -b [branch] [tag]
# 新建一个分支,与指定的远程分支建立追踪关系
git branch --track [branch] [remote-branch]
# 在本地创建一个分支并跟远程仓库分支关联起来
git checkout -b [branch] [origin]/[branch]
删除分支
#删除分支
git branch -d [branch]
#删除远程分支
git push origin --delete [branch]
分支切换
#切换分支
git switch 分支名
# 切换到指定分支
git checkout [branch]
本地分支与远程分支关联
# 建立追踪关系,在现有分支与指定的远程分支之间
git branch --set-upstream [branch] [remote-branch]
查询分支
#查询所有本地分支
git branch
#列出所有远程分支
git branch -r
#列出所有本地分支和远程分支
git branch -a
分支合并
#合并分支(将指定分支的内容合并到当前分支上)
git merge [branch]
#合并分支时生成一个新的commit,--no-ff:不直接提交 -m:描述
git merge --no-ff -m "merge with no-ff" dev
#查看分支合并图
git log --graph
合并指定commit
#选择一个commit,合并进当前分支
git cherry-pick [commit]
git cherry-pick -e -n [commit]
# -e git cherry-pick将允许您在提交之前编辑提交消息
# -n git cherry-pick会自动创建一系列提交。-n将必要的更改应用到选择每个命名提交的工作树和索引中,而不进行任何提交
获取他人远程分支内容
// 取回特定分支的更新但不合并到当前分支
git fetch origin dev
//取回更新后,会返回一个FETCH_HEAD ,指的是某个branch在服务器上的最新状态,可以在本地通过它查看刚取回的更新信息
git log -p FETCH_HEAD
// 在本地创建一个dev分支并跟远程仓库dev分支关联起来
git checkout -b dev origin/dev
// 把dev分支内容拉取到本地
git pull origin dev