TL; DR:我需要删除master中的提交,这必须通过pull请求来完成。这是怎么做到的?
master上有一个提交需要删除,因为它提供的更改很糟糕。由于分支策略,我无法将提交直接推送到master。
我已经从master创建了一个分支,并使用git reset HEAD~1
删除最新的提交。现在分支比较显示我的新分支在master之后是1次提交,因此它不允许我创建pull请求。
如何通过拉取请求从master中删除提交?
您无法使用Pull Request重写历史记录,您将被阻止执行导致强制推送的操作。
相反,您可以添加一个新的提交,以恢复您想要删除的提交。
git revert sha-of-commit-to-get-rid-of
这应该会导致创建补偿提交,您可以将其推送到您的分支。将其与Master合并将撤消您不喜欢的提交中的更改。
如果您确实需要删除master的当前HEAD,则需要(临时)强制推送权限和绕过策略的权限。
您可以使用git revert
还原现有提交并在新提交中记录更改。
见https://git-scm.com/docs/git-revert.html