【问题标题】:How to clean up GitHub pull request?如何清理 GitHub 拉取请求?
【发布时间】:2018-02-04 00:43:19
【问题描述】:

我创建并编辑了一个分支,并提交了一个拉取请求。但是,它有很多提交,我想删除一些不相关的。我该怎么做呢?

我查看了许多其他答案(例如 this 一个),但它们都解决了略有不同的问题,而且由于我是 GitHub 新手,我不知道如何将它们放在一起。

谢谢。

【问题讨论】:

  • 搜索 squash、(交互式)rebase 和强制推送。只需删除/编辑分支中的提交并强制推送。

标签: git github pull-request git-fork


【解决方案1】:

为此,您可以使用

转到上一个提交

git checkout {commit_id} 对于提交 ID,您可以使用 git log

之后,您可以使用所需的更改进行新的提交。

进一步阅读git-checkout Git log

【讨论】:

    【解决方案2】:

    交互式变基通常工作,并且几乎总是一个更好的解决方案(详情here)。但是,我遇到了问题,不得不采取不同的方式。

    1) 将你的 fork 重新克隆到另一个位置,例如:

    git clone /your-username/your-repo
    

    2) 从上游重启你的fork(详情here):

    git remote add upstream /url/to/original/repo
    git fetch upstream
    git checkout master
    git reset --hard upstream/master  
    git push origin master --force` 
    

    3) 替换 repo 中的相关文件并提交更改。再次进行必要的更改后:

    git commit -m "<commit message>"
    git push origin <relevant-branch>
    

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-12-03
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-30
      • 1970-01-01
      • 2013-06-09
      • 2016-12-26
      相关资源
      最近更新 更多