一鼓,程序员进阶篇肝!!!
分支管理
创建新分支
查看所有分支
切换分支
合并分支
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] 标签管理,廖雪峰博客