使用GIT Flow完成功能分支

时间:2013-05-06 17:13:52

标签: git version-control git-flow atlassian-sourcetree

根据我的理解,创建功能分支的一个优点是,您可以轻松查看大量提交已合并到开发分支的位置。

完成功能分支后,建议删除功能分支,因为开发不再需要功能分支。删除分支后,图表是否仍会以“feature / my-fancy-feature”分支和合并进行注释?

2 个答案:

答案 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的以下插图:

enter image description here

更新

要在SourceTree中启用非快进功能,检查Menubar-> SourceTree -> Preferences -> Git找到以下全局首选项选项:

enter image description here

为了进一步说明,我在SourceTree的“帮助中心”中找到了这段摘录:

  

禁用快进行为   合并,意味着始终创建显式合并提交   无论接收分支是否有其他变化。   如果要维护明确单独的行,这可能很有用   在所有情况下的发展。

希望它有所帮助!

答案 1 :(得分:4)

不,只保留提交消息;如果要保留分支的名称,请确保将其包含在合并提交中,或使用相关名称显式标记合并提交。

最好的办法是不要担心在提交消息之外保留这些数据;当您合并功能分支时,您不应该关心功能在功能分支上完成。