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

如何在git中反转特定的提交?

  •  29
  • dkinzer  · 技术社区  · 14 年前

    我想知道是否有一种方法可以快速逆转特定的提交。

    我可以生成 diff 两次提交或 HEAD 看看有什么不同。

    我该如何逆转其中一个(或者更好的是,一组特定的)帅哥?

    3 回复  |  直到 10 年前
        1
  •  40
  •   cdhowie    14 年前
    git checkout -p $REF -- path/to/file
    

    在哪里? $REF 是一个ref name或commit ID,指定要从中获取文件状态的提交。例如,要有选择地还原上次提交中所做的更改,请使用 HEAD^ .

        2
  •  2
  •   erik    11 年前
    git difftool $REF -- /path/to/file
    

    哪里 $REF 是一个ref name或commit ID,指定要从中获取文件状态的提交。例如,要有选择地还原上次提交中所做的更改,请使用HEAD^。

    这个问题已经由@cdhowie回答过了,但是我发现使用类似 meld 有选择地恢复旧的代码块/代码行,特别是如果代码中有一个新引入的、很难找到的bug。

        3
  •  1
  •   Community basarat    7 年前

    要从以前的提交中恢复删除的文件,我使用了下面的答案:

    Find and restore a deleted file in a Git repository

    git checkout <deleting_commit>^ -- <file_path>
    
    推荐文章