我的团队使用github和源代码管理我们的工作流程。我们最近开始尝试github的南瓜合并功能。我们非常喜欢它如何保持我们的工作历史整洁,实质上每一个PR都有一个提交。
使用南瓜提交的一个意想不到的缺点是很难判断什么时候可以删除本地分支。我的整个团队似乎是基于能够在提交图中直观地看到已经合并的分支来管理他们的本地分支的,每隔几天我们将一个一个地遍历我们的本地分支,看看它们是否已经合并,如果已经合并了,然后在本地删除它。启用南瓜合并会消除这种可视化,并使我们很难判断是否已经合并了分支。
我们确实希望使用南瓜提交功能,但是我们需要一种可靠的方法来确定一个分支是否已经合并,并且在本地被删除是安全的。有什么好的方法,我们还没有想到,以实现这一点?
发布于 2016-10-28 19:17:29
我的整个团队似乎管理他们的本地分支是基于能够在提交图中直观地看到它已经被合并了,
这似乎是真正的问题在这里。如果您已经在使用GitHub拉请求工作流,则拉请求的状态应该是对此问题的权威回答。公共关系是否已被接受?好的!分支被合并了,继续你的生活。
您可能需要考虑的一个选项是采用(并可能强制执行)一个只接受单个提交请求的工作流。让人们在他们的本地存储库中做他们想做的任何事情,但是当提交拉请求时,他们会在提交之前将适当的提交压缩在一起(如果需要进行更改,可以在本地自由地使用重基工作流来更新拉请求)。
这具有“视觉检查”方法将继续工作的优点,因为您将不再合成GitHub上的提交。
更新
我将使用小工具 API的GitHub放在一起,以确定与给定提交sha关联的请求是否已关闭。将git-is-merged脚本放到您的$PATH中,然后您可以这样做:
$ git checkout my-feature-branch
$ git is-merged
All pull requests for 219e0f04a44053633abc947ce2b9d700156de978 are closed.或者:
$ git is-merged my-feature-branch
All pull requests for 219e0f04a44053633abc947ce2b9d700156de978 are closed.该脚本返回状态文本和退出代码,用于:
对于压缩提交,您可以使用任何属于原始拉请求的提交沙或压缩提交的提交沙。
如前所述,该工具只适用于公共存储库,但它使用的是支持身份验证的PyGithub模块。
https://stackoverflow.com/questions/40309849
复制相似问题