【问题标题】:How to undo a commit after a failed push?推送失败后如何撤消提交?
【发布时间】:2021-01-03 12:29:31
【问题描述】:

我打算在 dev 分支中测试一些东西(只是版本号 0.1 --> 0.2),所以我提交了更改,但我没有权限将其直接推送到 dev,然后我创建了一个功能分支我发现这个数字已经是0.2了,然后我把它改成0.3并推送了这个分支,然后创建了一个合并请求将它合并到dev中。

我是 git 新手,只是想知道将来如何防止这种混乱?推送被拒绝后如何恢复我的提交?

【问题讨论】:

标签: git github gitlab git-commit git-revert


【解决方案1】:

您可以通过使用命令还原上次提交来解决它

git reset HEAD~

这将撤消您的上次提交并将您对上次提交的更改恢复为未提交状态。然后,您可以签出功能分支,提交并将功能分支推送到您的远程仓库。

【讨论】:

    【解决方案2】:

    您可以简单地从 Git 历史记录中删除提交。

    如果commit还没有被push,下面的步骤可以工作-

    1. 执行您要删除的提交。

    2. 运行git rebase -i HEAD~2

    3. 在打开的文件中的提交条目之前,将pick 更改为drop

    4. 退出编辑器。您现在应该会看到最后一次提交消失了。

    如果您已经推送了不需要的提交,则需要强制推送到远程。但是,强制推送仅适用于功能分支 - 切勿强制推送到主分支!

    【讨论】:

      猜你喜欢
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 2022-05-31
      • 2023-04-09
      • 2011-09-20
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      相关资源
      最近更新 更多