我不知道是否有一种方法来的提交快速反向特定大块。

我可以生成两次提交或diff之间的HEAD看到的差别。

我如何扭转只是那些俊男的一个(或更好,但一组特定的帅哥的)?

有帮助吗?

解决方案

git checkout -p $REF -- path/to/file

其中$REF是REF名称或提交,指定提交要从取文件的状态ID。例如,为了有选择地还原更改在最后提交,使用HEAD^

制成

其他提示

git difftool $REF -- /path/to/file

其中$REF是REF名称或提交,指定提交要从取文件的状态ID。例如,为了有选择地还原更改在最后提交,使用HEAD ^。

制成

这个问题已经由@cdhowie回答,但我觉得有些更好使用一个交互式difftool像meld选择性地恢复旧代码大块/线,尤其是如果有一个新引进的,难以发现的bug中的代码。

要恢复已删除的文件从先前提交我使用的答案这里:

查找和还原在一个Git仓库

git checkout <deleting_commit>^ -- <file_path>
scroll top