git merge:有没有办法强制--squash?

EnT*_*Cas 3 git merge squash

因此,我们项目的开发工作流程是这样的:我们创建一个任务/错误票据,然后我们分离master以处理任务/错误,并最终将其合并回master.我们希望master上的提交有很好的消息.在任务分支上提交的人可能没有好的提交消息,这没关系,但是如果要合并分支,那些带有不干净消息的提交将进入主服务器.

解决此问题的一种方法是始终使用--squash与master合并.这样,您就有机会提供良好的提交消息,并将整个提交范围视为一个.我想知道是否有办法强制执行?意思是,如果我们可以让git服务器拒绝不被压缩的合并?

eck*_*kes 8

虽然它不是直接强制,但您可以设置--squashmaster分支的默认合并选项:

git config branch.master.mergeoptions  "--squash"
Run Code Online (Sandbox Code Playgroud)

这将始终压缩要合并到master中的提交,而不必指定--squash选项.