从拉取请求中删除一个提交的git命令

24
我是开源贡献的新手,这是我的其中一次尝试。
我开发了一个名为 "validates" 的库(gem):https://github.com/kaize/validates/ 我通过 git checkout -b branch_name 创建了2个分支:https://github.com/kaize/validates/pull/20 和 https://github.com/kaize/validates/pull/19,并为它们进行了提交。但是,您可以看到IP验证器拉取请求中有一个提交 Blank validator 399cdd7
我需要怎么做才能从此拉取请求中删除它(并仍将其放置在空验证器分支中)?
希望大家能帮助我让世界变得更好!

1
你尝试过变基吗?git rebase -i - bjhaid
我需要重新定位什么? - Alex Antonov
man git-rebase 会解释关于变基的所有你需要知道的内容。 - bjhaid
我认为你只需要不应用这个拉取请求。相反,关闭它,然后你应该打开一个新的适当的拉取请求。我猜这是Github的一个功能。 - Малъ Скрылевъ
1个回答

31
ip-validator 分支上,您需要执行 git rebase -i HEAD~2 命令- 这将在该分支上向后交互式重播两个提交。
此时,您将获得一个编辑器,并显示此处看到的选项:https://help.github.com/articles/interactive-rebase 简而言之,要删除该提交,请在编辑器中删除相应提交行,保存该编辑器文件,git 将创建一个新的提交,不包括您删除的提交。

6
你可以强制推送到Github以覆盖已经推送的更改。 - CDub
3
注意:为了使其工作,我需要执行 git push -f origin(注意 -f),否则它会要求您先拉取存储库,但实际上拉取是没有帮助的。 - Hi-Angel

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