Git入门第十四讲:分支策略

1.dev分支

参考廖雪峰网站:https://www.liaoxuefeng.com/wiki/896043488029600/900005860592480

在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,​​​master​​​分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在​​​dev​​​分支上,也就是说,​​dev​​​分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到​​master​​​上,在​​master​​​分支发布1.0版本;
你和你的小伙伴们每个人都在​​​dev​​​分支上干活,每个人都有自己的分支,时不时地往​​dev​​​分支上合并就可以了。Git入门第十四讲:分支策略_git dev分支

2.bug分支

参考廖雪峰网站:https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136
假设自己开发是dev分支,都要合并到master分支。
应用场景:就是当你正常开发时,突然有一个bug解决,当前分支又不能立即提交,就先暂存,新建一个分支解决bug。

# 暂存dev分支
git stash
# 切换到master分支
git checkout master
# 创建并切换到issue-101分支
git checkout -b issue-101
# 修改文件并添加
git add readme.txt
# 提交修改
git commit -m "fix bug 101"
# 切换到master分支
git checkout master
# 删除并提交issue-101 分支
git merge --no-ff -m "merged bug fix 101" issue-101
# 切换到dev分支
git checkout dev
# 查看提交状态
git status
# 暂存列表
git stash list
# 恢复暂存
git stash apply
# 删除当前暂存
git stash drop
# 恢复并删除当前暂存
git stash pop
# 恢复指定的暂存
git stash apply stash@{0}
# 合并某个提交
git cherry-pick 4c805e2

3.Feature分支

参考廖雪峰网站:https://www.liaoxuefeng.com/wiki/896043488029600/900394246995648
应用场景:当来新功能时,可以另开一个分支。如果这个功能最后上不了线,也不影响。

# 添加并切换分支
git checkout -b feature-功能缩写
# 一统大招加技能。。。。。。
git add XXXXX
# 最后完成功能提交
git commit -m "add feature vulcan"
# 如果一切顺利,切换到dev分支合并,然后删除feature-分支
git checkout dev
# 如果这个功能领导说不要了!!!
git branch -d feature-
# 还不让删,说还没合并。老板都说不要了,那就强制删除吧。
git branch -D feature-