我们有一个Git工作流程,主要基于重新设置本地主题分支,以实现尽可能线性的提交树。但有时需要合并,我们也允许这样做。
我该如何设置我的Git服务器,以在用户尝试将合并提交推送到服务器时发出警告? 我只想警告用户并询问他们是否真的希望这样做。
如果您使用标准版本的git,则我不认为您可以按照您所提出的交互方式完成此操作。然而,有一个可能的替代方案,那就是在服务器上设置一个pre-receive
钩子,拒绝不包含特定字符串(比如Merge Reviewed
)的合并提交。当推送包含此类合并提交的内容时,pre-receive
钩子会产生错误输出,并建议使用历史重写(git commit --amend
或git rebase
)添加该字符串或在推送之前将其合并到线性历史中。