git从pull请求中删除提交

asi*_*niy 23 git git-rebase git-cherry-pick

我是开源贡献的新手,所以这是我的第一次尝试.

我开发了一个名为validates:https : //github.com/kaize/validates/的库(gem)

我做了两个分支git checkout -b branch_name:

https://github.com/kaize/validates/pull/20&https://github.com/kaize/validates/pull/19,并为它们提交,但是,你可以看到ip-validator pull请求有提交Blank validator 399cdd7.

我需要做什么才能从拉取请求中删除它(并且仍然放在空白验证器分支中)?

伙计们,请帮助我让世界更美好!

CDu*_*Dub 29

ip-validator分支上,你会这样做git rebase -i HEAD~2- 这将启动交互式rebase返回该分支上的两个提交.

此时,您将看到一个打开的编辑器,其中包含以下选项:https://help.github.com/articles/interactive-rebase

简单地说,要删除该提交,只需删除编辑器中的提交行,保存该编辑器文件,git将创建一个新的提交而不删除您的提交.

  • 然后,您可以强制推送到github以覆盖已推送的更改. (5认同)
  • 但是,如果我已经把它推到了github怎么办? (2认同)
  • 注意:为了这个工作,我需要`git push -f origin`*(注意`-f`)*,否则它会要求你先拉回购,回拉实际上无济于事. (2认同)