为什么git会提示我进行post-pull合并提交消息?

时间:2012-07-31 15:50:19

标签: git git-pull

最近,在任何git pull之后,git开始生成我的文本编辑器,并要求合并提交消息。提交消息已经预先填写,我只需要保存并关闭窗口以完成拉动。

在过去,它会使用标准提交消息(沿Merge branch 'dev' of remote.com:/repo into dev行)静默地进行合并。

我最近将git更新为版本1.7.11.3(通过自制程序),但是我想不出有什么其他方法可以改变这种行为。这是一个设置,还是以某种方式回到它的方式?

3 个答案:

答案 0 :(得分:145)

在git 1.7.10中,git开发人员认为合并提交可能太容易了。正如this blog post,中所解释的那样,强制交互式提交消息行为应该使这些提交消息更加详细,并且可以减少不必要的合并的总体频率。

您可以使用--no-edit标记来避免此行为,但是,不要这样做。合并提交,就像对历史的任何提交一样,应该很好地构建。你的历史应该只是有用的。

答案 1 :(得分:51)

要创建供将来使用的快捷方式,请执行以下操作之一: -

使用以下内容修改~/.gitconfig

[core]
    mergeoptions = --no-edit

或在终端

中执行以下操作

git config --global core.mergeoptions --no-edit

答案 2 :(得分:9)

首先,请注意克里斯托弗在上面的答案中的警告。

然后,如果您仍想禁用自动合并提交消息编辑,请设置此环境变量:

private void SaveEdits_Click()
{
 using (SqlConnection con = new SqlConnection(mycon))
        {
            con.Open();
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.CommandText = "UPDATE Customers set firstname= @FN , lastname= @LN , age = @AG , postcode= @PC where CustomerID = @CustID";
                cmd.Connection = con;

                cmd.Parameters.AddWithValue("@CustID", cid);
                cmd.Parameters.AddWithValue("@FN", tb_editFirstName.Text);
                cmd.Parameters.AddWithValue("@LN", tb_editLastName.Text);
                cmd.Parameters.AddWithValue("@AG", tb_editAge.Text);
                cmd.Parameters.AddWithValue("@PC", tb_editPostCode.Text);

                cmd.ExecuteNonQuery();
            }
        }
        CustomersBindGrid();
        MessageBox.show("Information Updated!");
   }
}

此环境变量及其" no"设置记录在git merge doc页面上。建议仅在需要以非交互方式合并的脚本中使用它,但当然可以将其设置为shell环境的一部分,以使其效果更加永久。