创建与合并分支
master 主分支
HEAD 当前分支
git branch # 查看分支
git branch <name> # 创建分支
git checkout <name> # 切换分支
git checkout -b <name> # 创建与切换分支
git merge <name> # 合并某分支到当前分支
git branch -d <name> # 删除分支
git branch -D <name> # 强行删除分支
分支冲突
git merge后发现分支冲突;
git status查看冲突的文件;
修改文件冲突内容;
重新提交;
通过git log --graph查看分支合并图
git log --graph
git log --graph --pretty=oneline --abbrev-commit
注意:git log退出方法,英文状态下按键q
分支管理
合并分支时,Git一般会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。通过强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
git merge --no-ff -m "merge with no-ff" dev
--no-ff 禁用Fast forward
-m 创建一个新的commit
然后通过git log --graph --pretty=oneline --abbrev-commit
查看分支历史
bug分支
临时bug修复:通过git stash
把当前工作现场“储藏”起来;开启新分支进行bug修复,bug修复完成强制禁用Fast forward模式合并分支,以留下分支信息记录;删除bug修复分支;恢复储藏工作。
git stash list # 查看stash列表
恢复临时储藏:
git stash apply # 恢复后,stash内容并不删除
git stash apply stash@{0} #恢复指定的stash
git stash drop # 删除stash内容
git stash pop # 恢复并删除stash内容
多人协作
git remote # 查看远程库的信息
git remote -v # 查看远程库详细信息
git pull # 抓取远程的新提交
git checkout -b branch -name origin/branch-name # 在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致
git branch --set-upstream branch-name origin/branch-name # 建立本地分支和远程分支的关联