好的方案如下。 。
git log filename
就足够了git log--follow filename
--follow
命令为我提供了完整的历史记录,但遗憾的是我无法将此历史记录中的两个SHA与特定文件进行比较例如,我可以运行git diff SHA1 SHA2
:这将返回这些提交之间所做的所有文件更改。
但是,如果我尝试将其降低到文件级别进行比较(git diff SHA1 SHA2 filename
),则不返回任何内容!
(虽然SHAs的先前差异在此文件中显示了变化)
有没有人遇到过这个......
我理解在这个文件移动的提交之间,所以我尝试过像
这样的变体git diff - 关注SHA1 SHA2文件名
无济于事。
有没有其他人经历过这个,如果有,他们有解决方案吗?
答案 0 :(得分:4)
值得研究的另一个选择是-M
。但是,在可能的情况下,这也无济于事,您可以手动告诉git正确的文件路径,如下所示:
git diff SHA1:path/to/file1 SHA2:path/to/file2
(路径需要相对于仓库的顶层)