合并后文件历史记录中缺少git提交

时间:2014-03-03 05:22:19

标签: git git-merge git-commit

我项目中的某些文件正在使用旧版本(我已经提交并推送了对这些文件的更改,但这些提交没有显示在文件历史记录日志中。)

我可以确定问题是由队友提交的错误合并。我不知道它是如何发生的,但合并必须重置某些文件的版本。恢复合并并不起作用,因为恢复到旧版本的文件不属于变更集。

如何解决此问题,以便文件使用最新版本?

git log -- <filename>仅显示旧版本的提交

git log -- full-history -- <filename>显示所有提交到最新版本

我希望这些文件能够使用完整的历史记录。

1 个答案:

答案 0 :(得分:0)

解决方案是将修改后的文件签出到您要使用的版本并再次提交。要做到这一点:

  1. 通过浏览git log --full-history输出
  2. ,确定要用于这些文件的提交
  3. 使用git checkout <commit_hash> file1 file2
  4. 将本地存储库中的文件签出到该提交
  5. 将这些修改添加并提交为新提交
  6. 推送修改