dr *_*rry 120 git diff mv file-rename
我用了一个文件git mv
.现在我想在新文件上做一个diff来将它与旧文件(旧的,现在不存在的名称)进行比较.
我该怎么做呢?
Zit*_*rax 141
您需要使用-M让git在传播时自动检测移动的文件.仅仅使用git diff
作为knittl提到的对我不起作用.
如此简单:git diff -M
应该这样做.
此开关的文档是:
-M[<n>], --find-renames[=<n>]
Detect renames. If n is specified, it is a threshold on the similarity index
(i.e. amount of addition/deletions compared to the file’s size). For example,
-M90% means git should consider a delete/add pair to be a rename if more than
90% of the file hasn’t changed.
Run Code Online (Sandbox Code Playgroud)
Jak*_*ski 79
除了knittl写的内容,你总是可以使用:
git diff HEAD:./oldfilename newfilename
Run Code Online (Sandbox Code Playgroud)
where HEAD:./oldfilename
表示相对于当前目录的最后一次提交(在HEAD中)中的oldfilename.
如果你没有足够新的git,你将不得不使用:
git diff HEAD:path/to/oldfilename newfilename
Run Code Online (Sandbox Code Playgroud)
Von*_*onC 18
使用git 2.9(2016年6月),您将不必再添加-M
.默认git diff
使用-M
.
请参阅Matthieu Moy()提交5404c11,提交9501d19,提交a9276a6,提交f07fc9e,提交62df1e6(2016年2月25日).(由Junio C Hamano合并- -在提交5d2a30d,2016年4月3日)moy
gitster
diff
:diff.renames
默认激活重命名检测是一个非常方便的功能,新用户不必深入挖掘文档以从中受益.
激活重命名检测的潜在反对意见是它有时会失败,有时会很慢.但是在某些情况下,默认情况下已经激活重命名检测,例如"
git status
"和"git merge
",因此激活diff.renames
不会从根本上改变这种情况.当重命名检测失败时,它现在在"git diff
"和"git status
" 之间始终失败.此设置不会影响管道命令,因此编写良好的脚本不会受到影响.
归档时间: |
|
查看次数: |
24745 次 |
最近记录: |