最近,在any之后git pull
,git开始生成我的文本编辑器,并要求合并提交消息。提交消息已经预先填写好了,我只需要保存并关闭窗口即可完成拉取。
过去,它将使用标准提交消息(沿的行Merge branch 'dev' of remote.com:/repo into dev
)以静默方式进行合并。
我最近(通过自制程序)将git更新到版本1.7.11.3,但想不出任何其他方法来更改此行为。这是一个设置,还是有其他方法可以恢复到原来的状态?
最近,在any之后git pull
,git开始生成我的文本编辑器,并要求合并提交消息。提交消息已经预先填写好了,我只需要保存并关闭窗口即可完成拉取。
过去,它将使用标准提交消息(沿的行Merge branch 'dev' of remote.com:/repo into dev
)以静默方式进行合并。
我最近(通过自制程序)将git更新到版本1.7.11.3,但想不出任何其他方法来更改此行为。这是一个设置,还是有其他方法可以恢复到原来的状态?
Answers:
在git 1.7.10中,git开发人员认为合并提交可能太容易了。如本博客文章中所述,强制交互式提交消息行为应使这些提交消息更加详细,并可以减少不必要合并的总体频率。
您可以使用该--no-edit
标志来避免这种行为,但是,不要这样做。像任何对历史的提交一样,合并提交也应该构造得很好。您的历史记录不过是有用的。
git pull
;使用git merge --ff-only
,如果你只是想更新,你不认为你有任何本地更改; 使用git merge --no-ff
如果你实际上是试图将分支合并。
$EDITOR
设置,但是如果您在OSX上开箱即用git,则可能是一个名为'vi'的程序。键入i
以进入“插入”模式;输入您的消息。然后,您可以通过单击ESC
然后键入来保存并退出:wq
。
要创建供将来使用的快捷方式,请:
~/.gitconfig
使用以下内容进行编辑:
[core]
mergeoptions = --no-edit
或者在终端中执行以下命令
git config --global core.mergeoptions --no-edit
git config --global core.mergeoptions
。
git config core.mergeoptions --no-edit
首先,请注意上面克里斯托弗的回答中的警告。
然后,如果仍然要禁用自动合并提交消息编辑,请设置以下环境变量:
GIT_MERGE_AUTOEDIT=no
该环境变量及其“否”设置记录在git merge doc页面上。建议仅在需要非交互式合并的脚本中使用它,但是当然可以将其设置为Shell环境的一部分,以使其效果更持久。
--no-edit
标志有何不同吗?
--no-edit
每次使用时,都必须在命令行中重复使用该标志,因为在达拉斯·克拉克(Dallas Clark)的回答此处所述的设置中,该标志似乎不起作用。设置环境变量是我知道保持设置不变的唯一方法。