git:部分还原文件的先前版本

  • 本文关键字:版本 文件 还原 git git
  • 更新时间 :
  • 英文 :


在我目前正在处理的一个项目中,我有一个文件,大致具有以下历史记录:

  1. 它最初是来自不同项目的文件副本
  2. 所做的一些更改
  3. 介于两者之间的某个地方,文件的大部分被认为是不必要的并被删除
  4. 之后,修改的现有行和另外的新行是通过从原始文件复制创建的,或者作为不在原始文件中的全新行创建的。

现在,我很后悔删除了绝大多数文件,我想恢复到初始文件(大约 100 次提交前(,但除了从那时起的删除之外,进行了所有修改。

换句话说:最新提交中存在的每一行都应该取自该行,不在最新提交中的每一行都应该取自第一次提交。

我怎样才能做到这一点?

我建议使用第三方工具并排显示初始文件和当前文件,然后手动执行修复。不太可能有任何自动解决方案;您可以从第一次提交中git checkout --merge原始文件,但是如果您不幸,您可能不会遇到合并冲突,如果您幸运并且确实遇到合并冲突,则不太可能是一个非常好的工作场所。

最新更新