我的项目历史如下:
我想查看我在这些提交中对两个文件所做的编辑的差异,但是git diff rev0..rev3
没有帮助,因为我只看到删除文件a& b,以及对c&amp ;;的所有编辑d作为一个大的添加与文件的创建混合在一起。
如何看到包含rev1和rev3的差异,其中((a,c),(b,d))被视为相同的文件,没有文件在diff中重命名杂乱?
答案 0 :(得分:2)
使用git diff -M
。
它也可以微调 - git diff -M90%
来检测90%相似的文件。 (不确定git status
默认使用的是什么)
答案 1 :(得分:2)
git diff -C
将在重命名之间进行区分,并检测副本。
如上面的答案所述
git diff -M
只检测重命名。
答案 2 :(得分:1)
git diff
将接受<rev>:<filename
类型的参数。使用git log --follow <file>
查找所需的修订版本以及该修订版本的文件名称。
例如(在我的代码中,它在过去被转换为C ++)
git diff 44308:./draw.c draw.cpp
对你来说可能是
git diff rev1:./a c
我发现我需要指定文件的路径,否则git本身就给了我一个提示。