一鼓,程序员进阶篇肝!!!
分支管理
创建新分支
查看所有分支
切换分支
合并分支
1 2
   | git merge --no-ff dev		在非dev 分支上使用此命令 --no-ff:禁用快速合并,采用普通合并策略,这样合并后的历史有树状分支,而fast-merge模式看不出曾经做过合并
   | 
 
冲突处理
1 2 3 4 5 6 7 8 9 10 11
   | 合并分支出现冲突时,需要手工解决冲突,例如: <<<<<<< HEAD
  hahadasfsfsas sfsaasf sfasfas1 ======= qwerryuuert erterytyer
  >>>>>>> dev
   | 
 
分支管理策略

删除分支
1 2 3
   | git branch -d dev	在非dev 分支上使用此命令,已合并分支的情况下使用
  git branch -D dev	在非dev分支上使用此命令,强制丢弃分支,未合并分支的情况下使用
   | 
 
保护现场(压栈)
查看栈内容
恢复现场(出栈)
1 2 3
   | 方法二: git stash apply		恢复但没有删除 git stash drop		删除
   | 
 
1 2
   | 方法三: git stash apply stash@{0}	恢复指定的stash
   | 
 
修复bug 后合并到其他分支
1
   | git cherry-pick bug_commit_id		在其他分支上执行此命令
   | 
 
标签管理
Git的标签是版本库的快照,其实它就是指向某个commit的指针(分支可以移动,标签不能移动),tag 就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
打标签
1
   | git tag v1.0		在当前commit_id 中打标签
   | 
 
1
   | git tag v1.0 commit_id		在指定commit_id 中打标签
   | 
 
1 2 3 4
   | git tag -a v1.0 -m '备注' commit_id -a:指定标签名 -m:备注信息 commit_id:提交号
   | 
 
查看所有标签
查看标签详细信息
注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。
推送本地标签到远程仓库
1 2 3
   | git push origin v1.0		推送一个
  git push origin --tags		推送本地的所有标签
   | 
 
删除本地标签
删除远程仓库标签
1 2
   | git tag -d v1.0							先从本地删除 git push origin :refs/tags/v1.0			再从远程删除
   | 
 
参考资料
[1] 实际项目中如何使用Git做分支管理,csdn
[2] 分支管理策略,廖雪峰博客
[3] 标签管理,廖雪峰博客