我记得大约一年前我做了一些合并,导致提交消息Merge branch 'Name_of_branch'在远程存储库上.
根据我的记忆,如果我重新定位分支中的所有提交然后将其合并到master然后推送到远程存储库,就会发生这种情况.
但现在我无法用git-1.7.2.2重现它.
它被修复了吗?或者有人可以解释这是如何发生的,也许是如何避免它?
Cas*_*bel 35
这是默认的合并提交消息.获得它并不需要任何特殊的东西 - 只需将任何重要的合并到master中:
- o - o - X (master)
\ /
o - o (topic)
Run Code Online (Sandbox Code Playgroud)
提交X的默认提交消息将是"合并分支'主题'".如果合并到master之外的分支,则默认消息为"Merge branch '<merged-branch>' into '<branch>'".
我不确定你为什么要问"修理"和"避免"这个.这是合并提交的一个非常合理的默认消息.如果您想要更详细的合并提交消息,我们当然欢迎您提供一个.(两种主要方式是使用git merge --no-commit后跟git commit或git merge后跟git commit --amend编辑消息.)
也许你习惯只做快进合并?(那些是简单的合并,你正在合并的提交将你当前的分支作为祖先,所以git所要做的就是将分支向前移动历史.)那些不生成合并提交,因此没有提交消息.
(顺便说一下,推送与此无关 - 它只是将信息从一个repo复制到另一个repo.它不会创建提交.)
我不介意自动消息,但我确实想避免仅仅为了保留默认值而退出编辑器。以下选项实现了该行为(在我的脚本中):
GIT_MERGE_AUTOEDIT=no git merge origin/master
Run Code Online (Sandbox Code Playgroud)