如何从拉取请求中移除提交

我做了一个pull请求,但在此之后,我对本地项目进行了一些提交,结束了对我的pull请求的污染,我试图删除它,但没有任何运气。

我在StackOverflow上发现了一些类似的问题,但我无法应用它。 这是我在GitHub上的第一个请求,所以对我来说这很有点奇怪。

突出显示的提交是我需要保留并删除所有其他内容的提交。 它成为历史上的第四次提交,因为我做了一些合并的东西。

在这里输入图像描述

我的git日志 在这里输入图像描述

有人可以解释发生了什么事以及如何解决这个问题。


你有几种技术来做到这一点。

这篇文章 - 阅读关于恢复的部分将详细解释我们想要做什么以及如何去做。

以下是解决问题的最简单方法:

# Checkout the desired branch
git checkout <branch>

# Undo the desired commit
git revert <commit>

# Update the remote with the undo of the code
git push origin <branch>

revert命令将创建一个新的提交,其中包含原始提交的撤消操作


所以做以下事情,

假设你的分支名称是my_branch,并且有额外的提交。

  • git checkout -b my_branch_with_extra_commits(以不同的名称保存此分支)
  • gitk(打开git控制台)
  • 寻找你想保留的提交。 将该提交的SHA复制到记事本中。
  • git checkout my_branch
  • gitk(这将打开git控制台)
  • 右键单击要恢复的提交(更改前的状态),然后单击“重置分支到此处”
  • 做一个git pull --rebase origin branch_name_to _merge_to
  • Git樱桃采摘
  • 现在看看本地分支机构提交历史,并确保一切看起来不错。

    链接地址: http://www.djcxy.com/p/18817.html

    上一篇: How to remove commits from pull request

    下一篇: How to revert project back to a previous commit in android studio