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

Git子模块迁移路径后,如何追踪其完整提交历史?

Git子模块路径变更后追踪完整提交历史的方法

当然可以追踪路径变更前后的所有记录,以下是两种实用方法:

方法一:用--follow参数自动追踪重命名历史

直接执行这条命令:

git log --follow <新子模块路径>

--follow参数会让Git识别子模块的路径变更(不管是git mv还是手动移动后提交的变更),自动关联旧路径下的提交记录,输出完整的历史时间线。

方法二:手动合并新旧路径的历史记录

如果--follow因为特殊场景不生效,可以分别获取新旧路径的历史再合并:

  • 先查旧路径下的子模块提交:git log <旧子模块路径>
  • 再查新路径下的:git log <新子模块路径>
  • 把两次输出按提交时间排序,就能得到完整的变更记录。

注意事项

  • 要是你当初是手动移动子模块目录而非用git mv,得先确保路径变更已经被提交到宿主仓库,否则Git没法识别这是重命名操作。
  • git mv本身会被Git标记为重命名事件,配合--follow是最省心的解决方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:02:05