问题描述
我尝试通过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 (将#修改为@)