处理被拒绝的拉取请求

8

我对git有一定的熟练度,但通常只使用基于分支的工作流程,并且大多数情况下都是与Gerrit一起使用。我对Pull Requests几乎一无所知。

对我来说,Pull Requests主要类似于提交到Gerrit并等待审核的分支。在Gerrit中,如果我的某个提交存在问题,会在其上留下评论并获得非正分数。在Pull Request中,可以在其上留下评论并可能被拒绝。在Gerrit中,为了解决引起评论的问题,我会修改相关提交并再次推送(使用相同的Change-Id进行新提交)。那么我如何更新一个Pull Request呢?只需在其之上推送修复提交吗?取消Pull Request(是否可行?)或者修改我的提交并推送新的Pull Request?

我们的项目使用Bitbucket,目前我们计划避免使用forks,只是从特性分支向master(我们的“生产”分支)发出pull request,主要是因为这更接近我熟悉的方式。

1个回答

5
在GitHub上,是的,您可以添加新的提交,甚至重新排序/修改您专用分支的现有提交,强制将该分支推送到您的分叉(git push --force),那么现有的拉取请求将更新,任何Travis CI作业都将再次运行,并且原始的存储库维护者将收到通知。但即使在BitBucket上,拉取请求也是从分叉中提出的提交,而不是来自同一存储库的分支。请参见 "分叉存储库、比较代码和创建拉取请求" 这主要是为了防止贡献者更改存储库并强制他们在自己的存储库中工作(分叉),然后在本地计算机上克隆它们。

在BitBucket上,可以从分支创建Pull Requests(请参见跨分支的Pull Requests)。昨晚我尝试了一下强制推送,但无法更新现有的Pull Request - 它只是创建了一个新的。不确定是我做错了什么,还是该功能只适用于forks。 - Ben Barbour
@Peregrinati 是的,如果分支已经被变基,那么“更新拉取请求”按钮似乎只会出现在那里。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接