You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git仓库移动文件后如何保留原有提交历史?

Git移动文件后保留历史记录的解决方法

这个问题其实是Git默认行为带来的小困扰,别着急,有几个简单的办法能帮你找回文件移动前的完整提交历史:

  • 使用--follow参数追踪文件变更
    Git默认的git log -p只会查找当前路径下的提交记录,不会自动关联文件移动/重命名前的历史。你只需要给命令加上--follow参数,就能让Git识别文件的路径变化,追踪它的完整历史:

    git log --follow -p directory1/file1.txt
    

    这个命令会告诉Git:“帮我追踪这个文件,不管它之前在哪个路径”,这样就能看到移动前的那两次提交了。

  • 直接通过原路径+新路径查看全部历史
    如果你不想用--follow,也可以同时指定文件的原路径和新路径,让Git一次性列出所有相关提交:

    git log -p -- repo/file1.txt directory1/file1.txt
    

    这种方式适合你明确知道文件原路径的情况,能直接把两个路径下的提交合并展示。

另外补充个小知识点:Git其实没有专门的“文件移动”提交类型,它是把移动操作识别为“删除原路径文件+添加新路径文件”。--follow参数的作用就是让Git通过文件内容的相似度(默认阈值50%),自动关联这两个操作,从而还原完整的历史线。

内容的提问来源于stack exchange,提问作者Mahesh Uligade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:29:12