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

如何用Git追踪跨文件移动的代码行历史?

追踪跨文件移动的代码行历史

你可以通过内容匹配结合--follow参数实现,无需手动切换提交定位原文件:

  • 使用内容匹配的git log -L语法,配合--follow追踪文件移动/重命名历史:

    git log --follow -L :'Footer is saved at the end of the file, with fixed length':./FileFormat.h
    

    这里的:内容:文件名语法会让Git自动匹配目标文件中包含该内容的代码块,--follow参数会让Git追踪文件的移动路径,自动回溯到代码原本所在的fileB,输出完整的提交记录。

  • 若需要更精准的正则匹配内容变更,可结合git log -G和--follow:

    git log --follow -G'Footer is saved at the end of the file, with fixed length' -- FileFormat.h
    

    该命令会搜索所有包含这段内容变更的提交,同时追踪文件移动历史,直接定位到代码最初添加的提交。

注意:--follow默认支持单个文件的多次移动/重命名追踪,代码在多文件间迁移的情况也能自动回溯路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:22:04