代码之家  ›  专栏  ›  技术社区  ›  ojunk

吉特:解开安全拉

  •  0
  • ojunk  · 技术社区  · 6 年前

    我有很多更改要提交和推动,所以我提交了它们。然后我尝试从GitHub中提取,但是有无法解决的冲突,所以我使用vimdiff尝试手动执行。

    我记得以前用过几次gitdiff,它真的很难而且不直观(尽管vim是我选择的编辑器),但是出于某种原因,我一直在愚蠢地工作,在我意识到之前,我突然只有一个屏幕,到处都是奇怪的字符,只有当我接受这些更改时,它才会让我退出!

    所以我接受了,再次拉表明它已经合并了(

    提交过程中添加了很多内容,一个调试周期可能需要30多个小时,因此我必须能够撤消合并,而不会丢失上一次提交时所做的更改。

    我很抱歉,我知道有很多关于在git中合并的帖子,但是大多数都是关于合并分支的,这似乎是相关的,但不同的,还有一些是关于我的拉的情况,我担心我可能会失去提交。

    有人能帮我吗?仅供参考,我正在使用Linux命令行。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Tim Biegeleisen    6 年前

    假设您只需要撤消对尚未推送/共享的本地分支所做的错误合并提交,您应该只需要执行硬重置。找到要还原到的提交的SHA-1哈希,然后执行以下操作:

    git reset --hard <SHA-1>
    

    你可以试试跑步 git log 找到你最近工作的地方。在此之后,可能会有一个或多个合并提交,这是您不想要的。