1

前段时间我在一个 git 存储库中做了一些删除,我想把其中的一些带回来,可能是一些代码,或者整个文件。哪种方法最优雅?

我可以在文件的实际状态和文件的旧状态之间进行某种交互式差异,然后从旧版本中复制/粘贴内容吗?

4

3 回答 3

4

仅用于gitk path/filename显示该文件的历史记录。外部差异是查看旧版本以进行复制/粘贴的简单方法。您也可以选择提交 ID 并将其用于git revert.

或者只是 gitk 并使用过滤器,例如“触摸路径”来突出显示和导航。在任何提交点,您都可以看到树而不是补丁。

真的有太多的方法......

于 2013-06-23T19:45:46.723 回答
2

您可以使用git checkout路径:

git checkout fa1afe1 -- some/file.txt

这将覆盖some/file.txt它在提交中的外观fa1afe1,而无需切换HEAD。然后,您可以像往常一样使用 添加它git add或选择它的部分git add -i,然后提交。

首先也git checkout -p只能覆盖选定的部分。

于 2013-06-23T20:31:38.877 回答
0

前提是您在使用提交 ID 签出之前进行了提交。

git checkout commitId
于 2013-06-23T20:05:51.913 回答