前段时间我在一个 git 存储库中做了一些删除,我想把其中的一些带回来,可能是一些代码,或者整个文件。哪种方法最优雅?
我可以在文件的实际状态和文件的旧状态之间进行某种交互式差异,然后从旧版本中复制/粘贴内容吗?
前段时间我在一个 git 存储库中做了一些删除,我想把其中的一些带回来,可能是一些代码,或者整个文件。哪种方法最优雅?
我可以在文件的实际状态和文件的旧状态之间进行某种交互式差异,然后从旧版本中复制/粘贴内容吗?
仅用于gitk path/filename
显示该文件的历史记录。外部差异是查看旧版本以进行复制/粘贴的简单方法。您也可以选择提交 ID 并将其用于git revert
.
或者只是 gitk 并使用过滤器,例如“触摸路径”来突出显示和导航。在任何提交点,您都可以看到树而不是补丁。
真的有太多的方法......
您可以使用git checkout
路径:
git checkout fa1afe1 -- some/file.txt
这将覆盖some/file.txt
它在提交中的外观fa1afe1
,而无需切换HEAD
。然后,您可以像往常一样使用 添加它git add
或选择它的部分git add -i
,然后提交。
首先也git checkout -p
只能覆盖选定的部分。
前提是您在使用提交 ID 签出之前进行了提交。
git checkout commitId