【问题标题】:Undo two pull requested but not merged commits撤消两个请求但未合并的提交
【发布时间】:2022-01-10 01:04:43
【问题描述】:

我是一个 git noob,需要你的帮助。

我有a repository by another person 中的a fork,在我的本地分叉中我也将其用作upstream

pull requested(或如何调用)两次提交到上游主分支。它们还没有在那里合并。后来我通过 GitHub 页面从这个上游获取了最新的更改,并通过 GitHub Desktop 将它们拉到我的本地存储库中。所以现在我的 GitHub 页面说我的 fork 是上游之前的三个提交,我的两个提交在我的本地 repo 中,并且在它们之后获取的提交。

repo 所有者现在要求我将这些更改请求(或如何调用)到他的 repo 中的另一个分支。

撤消主分支中两个请求的、未合并的提交的正确方法是什么?我可以在 GitHub 桌面中恢复它们,推送提交并关闭拉取请求吗?这会解决其他回购中的所有问题吗?这会使我的 fork 中的“提前三个提交”消息消失吗?

【问题讨论】:

  • 您应该能够从 github 站点本身更改分支而不撤消任何操作,请检查您的拉取请求链接
  • 看来您可以将base branchmaster 更改为tiddlywiki-com,这样就可以解决问题。这对你有用吗?
  • 感谢我可以从 GitHub 更改基础分支的提示。如果Pull request没有出现在Pull requests选项卡下,也可以直接在pull request的页面上进行(按钮Edit)。

标签: git github


【解决方案1】:

试试

git revert <unmerged_commit_1_hash>
git revert <unmerged_commit_2_hash>

它将删除您的两个不需要的提交,并保留新的提交

【讨论】:

  • 是的,当其他存储库受到影响时,这是干净的方式。这会创建两个新的提交来撤消不需要的提交。
【解决方案2】:

我关闭了 GitHub 上的拉取请求。然后我将本地 master 重置为我两次提交之前的状态,并强制将其推送到我的 GitHub forks master (as described here)。没关系,因为没有其他人听它。然后我再次获取并拉取master,它现在又处于干净状态,没有我的两次提交。然后我从所需的分支创建了一个新的拉取请求。

【讨论】:

    猜你喜欢
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2010-12-26
    • 2021-06-26
    • 2011-09-22
    相关资源
    最近更新 更多