如何修改Github的pull请求?
我已经打开了一个项目拉请求。 维护者已经决定接受它,但是告诉我要修改一些内容。
我该怎么做? 我是否应该保持提交哈希不变,我该怎么做?
只是推送更多的提交到分支的请求。 拉请求将会select这个
例:
如果你想把b合并成主
- 你把c1,c2,c3推到b
- 那么你提出了一个新的要求b
- 它会得到审查,你需要更多的提交
- 你把c11,c21,c31推到b
- 拉请求现在显示所有6个提交
我只有一个提交请求,我用git commit --amend
来更新它。 然后我用git push -f
做了一次强制推送,所以我的修改后的提交replace了原来的提交。 拉取请求自动提取新的提交。 (它实际上显示了两个提交,但是当我重新加载页面旧的提交已经结束。)
所以通常不推荐强制推送,这对拉取请求是有用的。 这是不推荐的,因为如果有人在你的基础上承诺,那么他们将不得不在你的变化之后做一个rebase。 但是,由于没有人应该把他们的工作放在一个低估的拉动要求上,在这种情况下应该是相当安全的。
如果您继续进行更改并继续推送到同一个分支,则精炼的提交将被添加到相同的拉取请求(除非您的拉取请求已合并)。 这可能会使历史非常混乱。
我使用的另一种解决scheme和技术如下:
-
从存储库(上游)和分支(开发)中创build一个新的分支(修复),通过执行:
git分支修复上游/开发
-
直接将您的提交的提交添加到这个新创build的分支。
git commit -m“你的信息”
-
推这个分支到你自己分叉的远程(可以被命名的起源)。
- 比较并发送带有清理提交历史logging的新请求。
- 另外,在拉取请求合并之后删除分支是个好主意。
- 您可以评论并closures您之前的请求。
你也可以使用github API 。
curl的例子
curl --user "your_github_username" \ --request PATCH \ --data '{"title":"newtitle","body":"newbody",...}' \ https://api.github.com/repos/:owner/:repo/pulls/:number
您可以在github开发人员文档中find详细的数据列表
例如:更改我的拉取请求的名称
curl --user "jeremyclement" \ --request PATCH \ --data '{"title":"allows the control of files and folders permissions."}' \ https://api.github.com/repos/Gregwar/Cache/pulls/9