【问题标题】:How to undo the git --abort如何撤消 git --abort
【发布时间】:2019-08-23 17:44:37
【问题描述】:

是否可以撤消 git abort。场景是我在运行命令 git merge 时合并两个分支,它显示错误消息您有未提交的更改,因此我运行 git commit 现在出现消息“致命错误存在之间的合并冲突,中止操作以解决问题”,所以我运行命令 git merge --abort。 在此之后,我也丢失了本地代码更改。是否有任何解决方案可以撤消中止或取回我的本地代码。

【问题讨论】:

  • 您丢失的更改是您尝试合并还是分离更改的分支的一部分?

标签: git git-merge conflict abort


【解决方案1】:

撤消中止基本上就是重做合并。

因此,重新运行git merge 以重新启动,使用git mergetool 解决冲突,最后运行git commit 以完成合并。

如果你不知道如何使用git mergetool,这里有一个指南:https://gist.github.com/karenyyng/f19ff75c60f18b4b8149

【讨论】:

    【解决方案2】:

    不,很遗憾,如果您在失败的合并开始和--abort 之间没有提交您的更改,它们就不会保存在任何地方。

    您不仅要重做合并,还要重做这些更改(尽管单独这样做可能是个好主意)。

    【讨论】:

    • 但我怎么能这样做,我只希望我的本地更改回来
    • @Ahmad 你在合并之前的最后一次提交和现在之间所做的事情中失去了什么。我知道这听起来很可怕,但除非您的 IDE 存储了任何本地更改,正如 Ganesa 所暗示的那样,这里没有太大希望。
    • @Ahmad 如果您使用像EclipseIntellij 这样的IDE,则每个文件都有一个名为本地历史记录的选项(对少数文件有用)。
    【解决方案3】:

    直接的答案是 NO 如果您环顾 git,因为不会记录您未提交和已删除的本地更改,但您可以检查您的 IDE 并检查您是否可以从本地获取任何内容历史。

    【讨论】:

    • 是的,我正在寻找一个 git 命令解决方案,因为我在本地也丢失了代码
    • 对不起,我的朋友,我们在 git 中没有选项。
    【解决方案4】:

    除了其他答案之外,如果您使用一些 git 客户端运行 --abort,请使用 git stash list 检查您的 git stash,客户端可能会在重置您的工作树之前隐藏所有更改。

    【讨论】:

      猜你喜欢
      • 2017-11-08
      • 2015-06-05
      • 2014-11-03
      • 2016-06-06
      • 2011-08-14
      • 1970-01-01
      • 2021-11-03
      相关资源
      最近更新 更多