如何查看已提交修改的被移动文件内容?git show无返回解决方案
解决Git查看移动文件历史内容的问题
问题根源:
git log --follow能追踪到文件移动前的提交,但这些旧提交里存储的是文件移动前的路径/名称,你用现在的文件名去git show,Git找不到对应内容。解决步骤:
- 先从你拿到的commit ID里,找出该提交中文件的旧路径:
执行后会列出这个commit涉及的所有文件,找到对应文件的旧名称/路径。git show <commit-id> --name-only - 用旧路径执行
git show:
这样就能看到该提交里这个文件的内容了。git show <commit-id>:<旧文件名/路径>
- 先从你拿到的commit ID里,找出该提交中文件的旧路径:
更快捷的替代方法:
直接用git log --follow -p <当前文件名>,这个命令会直接显示文件移动前后所有提交的补丁内容,不用单独执行git show。
内容的提问来源于stack exchange,提问作者Smile
相关产品推荐
相关产品推荐

