2010-08-29 149 views
28

我记得大约一年前,我做了一些合并,导致在远端仓库是Merge branch 'Name_of_branch'提交信息。如何避免“合并分支‘name_of_branch’在提交信息?

从我记得会发生,如果我在重订一个分支的所有提交,然后合并它掌握,然后推到远程存储库。

但现在我不能使用git-1.7.2.2重现。

有它被修复?或者有人可以解释这是怎么发生的,或许可以如何避免它?

+11

'$ git merge --ff-only --no-commit Name_of_branch' - 如果可以快进则合并,并保留该消息。 – hakre 2013-12-25 19:18:06

回答

31

这是默认合并提交消息。它并不需要什么特别的得到它 - 只是做任何平凡的合并到主:

- o - o - X (master) 
    \ /
    o - o (topic) 

的默认提交信息的提交X将是“合并分支‘主题’”。如果合并到主站以外的分支,则默认消息为"Merge branch '<merged-branch>' into '<branch>'"

我不确定你为什么要问“修复”和“避免”这个问题。这是合并提交的非常合理的默认消息。如果您想要更详细的合并提交信息,欢迎您提供一个。 (两个主要的方法是使用遵循git merge --no-commit通过git commit,或随后git commit --amendgit merge编辑的消息。)

也许你已经习惯了这样做只是快进合并? (这些都是微不足道的合并,你正在合并的提交将你当前的分支作为祖先,因此所有git必须做的是通过历史记录向前移动分支。)那些不会生成合并提交,所以没有提交消息。

(顺便说一句,推无关这个 - 它所做的是从一个回购复制到另一个信息它不会永远创建提交。)

+3

太棒了!非常感谢你!我之所以提到“固定”和“避免”的原因是Linus在这次演讲中说,默认的合并信息是git中唯一的设计缺陷,但现在修复它已为时太晚,因为人们已经习惯了它。在http://video.linuxfoundation.org/video/1578观看视频如果您下载它,您可以快进。我认为这是最终的他说的。也许在问答中。 – 2010-08-29 16:06:10

+0

@Sandra:啊,我明白你来自哪里。我现在没有时间观看视频,但我猜想这个想法是将分支信息嵌入到提交消息中是一个坏主意,并且提供自动接受的默认提交消息是不好的。该消息仍然是一个相当合理的默认值,如果您的分支机构和工作流程良好,我认为(例如git.git) - 但是,编辑/修改它可能通常是一个好主意。 – Cascabel 2010-08-29 16:12:22

+0

我明白你的观点。再次感谢。 – 2010-08-29 17:30:57

相关问题