因此,我们项目的开发工作流程是这样的:我们创建一个任务/错误票据,然后我们分支主人来处理任务/错误,并最终将其合并回主人。我们希望master上的提交有很好的消息。在任务分支上提交的人可能没有好的提交消息,这没关系,但是如果要合并分支,那些带有不洁信息的提交将进入主服务器。
解决此问题的一种方法是始终使用--squash与master合并。这样,您就有机会提供良好的提交消息,并将整个提交范围视为一个。我想知道是否有办法强制执行?意思是,如果我们可以让git服务器拒绝那些没有被压扁的合并?
答案 0 :(得分:8)
虽然它不是直接强制,但您可以将--squash
设置为master
分支的默认合并选项:
git config branch.master.mergeoptions "--squash"
这将始终压缩要合并到master中的提交,而不必指定--squash
选项。
答案 1 :(得分:1)
您需要的是一个服务器端钩子,以确保您所需要的是什么。您将拒绝任何引入多个非合并提交的引用更改。您可以在那里进行其他检查,例如看到评论包含票号等等。
答案 2 :(得分:0)
您可以在分支上使用rebase -i
,这样您就可以将分支上的所有提交压缩为1次提交,然后将该分支(1次提交)合并到master。