我记得大约一年前我做了一些合并,导致远程存储库上的提交消息为Merge branch 'Name_of_branch'
。
从我记得的情况来看,如果我重新定位分支中的所有提交然后将其合并到master然后推送到远程存储库,就会发生这种情况。
但现在我无法使用git-1.7.2.2重现它。
它已被修复?或者有人可以解释这是如何发生的,也许是如何避免它?
答案 0 :(得分:33)
这是默认的合并提交消息。获得它并不需要任何特殊的东西 - 只需将任何重要的合并到master中:
- o - o - X (master)
\ /
o - o (topic)
提交X的默认提交消息将是“合并分支'主题'”。如果您合并到master之外的分支,则默认消息为"Merge branch '<merged-branch>' into '<branch>'"
。
我不确定你为什么要问“修复”和“避免”这个问题。这是合并提交的一个非常合理的默认消息。如果您想要更详细的合并提交消息,那么您肯定会提供一个。 (两种主要方式是使用git merge --no-commit
后跟git commit
,或git merge
后跟git commit --amend
来编辑邮件。)
也许你习惯只做快进合并? (那些是简单的合并,你正在合并的提交将你当前的分支作为祖先,所以git所要做的就是将分支向前移动历史。)那些不生成合并提交,因此没有提交消息。 / p>
(顺便说一下,推送与此无关 - 它只是将信息从一个仓库复制到另一个仓库。它不会创建提交。)
答案 1 :(得分:5)
git merge -m
我正在使用git 1.7.8
答案 2 :(得分:0)
我不介意自动消息,但是我确实想避免为了保持默认值而不得不退出编辑器。以下选项可实现该行为(在我的脚本中):
class Person{
public:
Person(int a, string myname);
int height; // make this an int, not int*
string name;
...
};
Person::Person(int a, string myname)
: height(a), name(myname) { // this is a member initialization list
}