我已经打开了一个项目的拉取请求。维护者决定接受它,但告诉我修改一些内容。
我该怎么做?我是否应该保持提交哈希不变,我该怎么做?
只需将更多提交推送到请求所针对的分支。然后,拉取请求将获取它。
如果你想让 b 合并到 master
我在拉取请求中只有一个提交,我曾经git commit --amend
更新它。然后我做了一个强制推送,git push -f
所以我修改后的提交替换了原来的提交。拉取请求自动获取新的提交。(它实际上显示了两个提交,但是当我重新加载页面时,旧的提交已经消失了。)
因此,虽然通常不建议强制推送,但它对于拉取请求很有用。不建议这样做,因为如果有人在您的基础上提交,那么他们将不得不在您更改后进行 rebase。但是由于没有人应该将他们的工作基于审查不足的拉取请求,所以在这种情况下应该是相当安全的。
如果您继续进行更改并继续推送到同一个分支,则精炼的提交将被添加到同一个拉取请求中(除非您的拉取请求已被合并)。这可能会使历史变得非常混乱。
我使用的替代解决方案和技术如下:
通过执行以下操作从存储库(上游)和分支(开发)创建一个新分支(修复),您打算将拉取请求发送到该分支:
git 分支修复上游/开发
将您的细化提交直接添加到这个新创建的分支。
git commit -m "你的信息"
将此分支推送到您自己的分叉远程(可以命名为 origin)。
您也可以使用github api。
curl --user "your_github_username" \
--request PATCH \
--data '{"title":"newtitle","body":"newbody",...}' \
https://api.github.com/repos/:owner/:repo/pulls/:number
您可以在github developer doc中找到详细的数据列表
curl --user "jeremyclement" \
--request PATCH \
--data '{"title":"allows the control of files and folders permissions."}' \
https://api.github.com/repos/Gregwar/Cache/pulls/9
将您的更改应用到创建 PR 的现有分支之上。例如,如果您的分支名称是newFeature
并且您已创建 PR 以合并newFeature
到develop
分支中。将建议的更改应用到 newFeature 分支上,并提交尽可能多的提交。完成修复建议的审核更改后。允许审阅者重新审阅它。一旦获得批准,您应该能够合并您的 PR。
如果您需要 git 的一般帮助,您可以使用 SourceTree 或一些 GUI 工具。