如何使git merge的默认值为--no-ff --no-commit?

时间:2011-04-01 21:21:16

标签: git merge

公司政策是使用--no-ff进行合并提交。我个人喜欢调整合并日志消息,因此我使用--no-commit。另外,我喜欢在我提交之前进行编译和测试。

如何为所有分支机构--no-ff--no-commit设置默认设置?

(自从问这个以来,我已经学会了几年,我几乎总是对提交感到满意,因此默认情况下允许它提交更简单,只要我修改或以其他方式解决问题推送东西都很好......)

4 个答案:

答案 0 :(得分:96)

将它放在$ HOME / .gitconfig:

[merge]
    ff = no
    commit = no

您可以使用git-config执行此操作:

  git config --global merge.commit no
  git config --global merge.ff no

答案 1 :(得分:32)

要使--no-ff --no-commit成为默认合并行为,请使用以下选项将选项设置为no

git config --global merge.ff no
git config --global merge.commit no

但是,问题是git pull = git fetch + git merge。因此,无论何时从远程服务器拔出,都需要创建一个丑陋的合并提交,这样才能保证简单的快进。要解决此问题,请将pull.ff设置为yes

git config --global pull.ff yes

答案 2 :(得分:19)

从git版本1.7.6开始,你应该使用

git config [--global] merge.ff no

在每次合并中使用--no-ff“强制”。

默认行为是

git config [--global] merge.ff yes

并且

git config [--global] merge.ff only

它将拒绝非快进合并

答案 3 :(得分:10)

根据manual,您应该使用

$ git config [--global] merge.ff false

默认情况下使用git-config实用程序为所有分支设置no-fast-forward选项。