根据我的理解,创建功能分支的一个优点是,您可以轻松查看大量提交已合并到开发分支的位置。
完成功能分支后,建议删除功能分支,因为开发不再需要功能分支。删除分支后,图表是否仍会以“feature / my-fancy-feature”分支和合并进行注释?
答案 0 :(得分:18)
“完成功能分支后,建议删除 功能分支,因为它不再需要开发。“
“整理”在这里是一个含糊不清的表达。为了确保我完全覆盖您的问题,我相信您的意思是以下任何一种情况:
(1)如果您希望放弃 feature/my-fancy-feature
:
git branch -d feature/my-fancy-feature
(2)如果您打算合并 feature/my-fancy-feature
:
git flow feature finish my-fancy-feature
“删除分支后,图表仍会被注释 “feature / my-fancy-feature”分支并合并?“
取决于(结果不是git-flow
依赖的)。 git log
不会为您提供具体的分支名称(例如feature/my-fancy-feature
)。它只会为您提供消息的提交历史记录。回顾快进合并与非快进合并之间的差异:
快进合并(feature/my-fancy-feature
中的所有提交历史记录将保留):
git merge
非快进合并(feature/my-fancy-feature
中的所有提交历史记录都将消失):
git merge --no-ff
参考文森特·德里森的article的以下插图:
要在SourceTree中启用非快进功能,检查从Menubar-> SourceTree -> Preferences -> Git
找到以下全局首选项选项:
为了进一步说明,我在SourceTree的“帮助中心”中找到了这段摘录:
禁用快进行为 合并,意味着始终创建显式合并提交 无论接收分支是否有其他变化。 如果要维护明确单独的行,这可能很有用 在所有情况下的发展。
希望它有所帮助!
答案 1 :(得分:4)
不,只保留提交消息;如果要保留分支的名称,请确保将其包含在合并提交中,或使用相关名称显式标记合并提交。
最好的办法是不要担心在提交消息之外保留这些数据;当您合并功能分支时,您不应该关心功能在功能分支上完成。