3

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

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

4

3 回答 3

8

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

git config branch.master.mergeoptions  "--squash"

这将始终压缩合并到 master 中的提交,而无需指定--squash选项。

于 2012-05-17T06:22:50.193 回答
1

您需要一个服务器端挂钩,以确保推送的内容是您所需要的。您将拒绝任何会引入多个非合并提交的参考更改。您可以在那里进行其他检查,例如查看评论是否包含票号等。

于 2012-05-16T21:05:11.127 回答
0

您可以rebase -i在您的分支上使用,这将允许您基本上将分支上的所有提交压缩为 1 个提交,然后将该分支(1 个提交)合并到 master。

于 2012-05-16T16:10:12.540 回答