如何解决Git日志--follow无法显示重命名以外的历史记录
我尝试通过gitlog在我的git中显示文件的完整历史记录。 问题在于此文件的partent文件夹在历史记录中已重命名,我希望看到完整的历史记录。
git-log documentation说,参数--follow
和-M
在重命名之后显示make git log。
我尝试了gitlog参数的不同组合,例如
git log -M --oneline --all -- --follow newpath/my-file.PHP
git log -M --oneline --all -- newpath/my-file.PHP
甚至
git rev-list --all -- newpath/my-file.PHP --objects --in-commit-order | git log --no-walk --oneline --stdin
但是无论我如何尝试,历史记录总是以重命名的文件的父文件夹结束。
我已经可以确认:
-
仅在重命名提交中对文件夹进行了重命名,文件的内容保持100%不变,因此git应该简单地发现旧路径上的文件和新路径上的文件是相同的,并且已重命名
-
git shot name-status
用于重命名提交显示R100 oldpath/my-file.PHP newpath/my-file.PHP
(确认文件内容100%相同) -
历史记录的“旧一半”和“新一半”似乎是正确的,都包含了rename-commt
-
当我运行
git log -M --oneline --all -- --follow newpath/my-file.PHP
时,最早的提交是0979744 renamed: oldpath/ -> newpath/
-
当我运行
git log -M --oneline --all -- --follow oldpath/my-file.PHP
时,最新的提交是0979744 renamed: oldpath/ -> newpath/
所以一切似乎都像我的git成功理解的那样,新路径中的文件和旧路径中的文件都已重命名。
有人可以告诉我,即使我使用-M
和--follow
选项,为什么历史仍然在重命名提交时仍然中断?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。