20

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

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

4

2 回答 2

21

“完成功能分支后,建议删除功能分支,因为开发不再需要它。”

“丢弃”和“合并”功能分支的区别:

“完成”在这里是一个模棱两可的表达。为确保我完全涵盖您的问题,我相信您的意思是以下任一情况:

(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)。它只会为您提供带有消息的提交历史记录。回顾一下快进合并和非快进合并的区别:

fast-forward-merge(所有提交历史记录feature/my-fancy-feature将保留):

git merge

非快进合并(所有提交历史都feature/my-fancy-feature将消失):

git merge --no-ff

请参考以下来自 Vincent Driessen文章的插图:

在此处输入图像描述

更新

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

在此处输入图像描述

为了进一步解释,我从 SourceTree 的“帮助中心”中找到了这段摘录:

合并时禁用快进行为,这意味着无论接收分支中是否有其他更改,始终都会创建显式合并提交。如果您想在所有情况下都保持明确独立的开发线,这将很有用。

希望它有所帮助!

于 2013-05-06T17:20:06.560 回答
4

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

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

于 2013-05-06T17:24:02.607 回答