公司政策是--no-ff用于合并提交。我个人喜欢调整合并日志消息,因此可以使用--no-commit。另外,我喜欢在放弃提交之前进行实际的编译和测试。
如何让我--no-ff和--no-commit我的默认为所有分支机构?
(而且自问这个问题以来的几年来我已经学到了,我几乎总是对提交感到满意,因此默认情况下允许提交更简单,只要我在进行推送之前修改或以其他方式解决问题就可以了)都好...)
Answers:
把它放在$ HOME / .gitconfig中:
[merge]
ff = no
commit = no
您可以使用git-config来做到这一点:
git config --global merge.commit no
git config --global merge.ff no
branch.master.mergeoptions="--no-ff"或merge.ff="no"(请参阅下面的答案)
要进行--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
merge.ff替代选项,则不会这样做-它仅影响显式合并,而pull仍会实现所需的快速前进。
merge.ff = no,git pull创建合并提交。
git pull --rebase(git-scm.com/docs/git-pull)或配置branch.autosetuprebase(git-scm.com/docs/git-config.html)
pull.ff = yes