我们想在git存储库中强制执行一项策略,以便在创建请求请求之前,必须将master
合并/重新设置为基础(现在让我们忽略merge vs rebase)到feature
分支。
我们希望拥有此政策的原因是,迫使开发人员考虑在其他功能分支中添加的功能,并在以后减少合并冲突。
这通常是在开发团队中完成的吗?为此目的,您使用什么工具(git-hook ?、特定CI工具的功能?)?
答案 0 :(得分:0)
首先,您不需要合并/重新设置母版。
您可以在master上合并/重新设置本地开发/功能分支,以便在更新的(git fetch)原始/ master上重播本地提交,以确保推送的功能仅在master之上引入新提交最新的主人状态。
您可以通过配置pull.rebase和rebase.autostash在本地进行简化(请参阅“ Can “git pull” automatically stash and pop pending changes?”)
最好是只有一个开发人员在使用给定功能(因为如果频繁按下它可能涉及该基础分支的push --force
),那么最好这样做
在服务器端,只有在您控制了该服务器的情况下,钩子(例如this one才是可能的(例如,像github.com这样的在线服务器就没有这种情况)