最近,在任何git pull
之后,git开始生成我的文本编辑器,并要求合并提交消息。提交消息已经预先填写,我只需要保存并关闭窗口以完成拉动。
在过去,它会使用标准提交消息(沿Merge branch 'dev' of remote.com:/repo into dev
行)静默地进行合并。
我最近将git更新为版本1.7.11.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环境的一部分,以使其效果更加永久。