公司政策是使用--no-ff
进行合并提交。我个人喜欢调整合并日志消息,因此我使用--no-commit
。另外,我喜欢在我提交之前进行编译和测试。
如何为所有分支机构--no-ff
和--no-commit
设置默认设置?
(自从问这个以来,我已经学会了几年,我几乎总是对提交感到满意,因此默认情况下允许它提交更简单,只要我修改或以其他方式解决问题推送东西都很好......)
答案 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选项。