【发布时间】:2015-03-28 10:47:42
【问题描述】:
我见过的大多数 git 工作流都建议在 branch 合并到 master 之后删除它。例如,gitflow 建议如下:
# Incorporating a finished feature on develop
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
我为什么要删除分支?我也很好奇当后来发现该功能引入的错误时该怎么办 - 我是否应该再次创建具有相同名称的分支,在那里修复错误,合并到 master 并再次删除分支?
【问题讨论】:
-
因为你的功能已经完成了。什么需要保留分支,从而使 git branch -a 等的结果混乱?
-
@OliverCharlesworth 历史
-
@Z.Khullah - 提交仍将保留在历史记录中。
-
是的,我的意思是这就是人们问这个问题的原因,因为他们不知道这个问题
-
删除代码从来都不是一个好主意(除非它完全是垃圾/完全搞砸了)。假设该功能非常复杂,尝试了 3 种不同的解决方案/代码路径。第一个似乎是最好的,只是后来发现应该使用解决方案 2。根据解决方案 2 是否是解决方案 1 的子分支,它现在可能会消失,失去解决方案 2 和 3 的工作。功能也可以在模块中开发。将其视为一个分支而不是一个新模块,这有点奇怪。该模块可以与代码库分开完成。