1
我需要在master~2
的myfile
版本和存儲庫本身之外存在的myfile
副本(比如D:\folder\myfile
)之間做差異。git可以在回購文件和外部(非回購)文件之間做一個差異?
--no-index
下git-diff
的措辭說:
git的差異--no指數[--options] [ - ] [...]
這種形式是給定的兩條路徑比較在文件系統上。運行命令時處於工作 樹由Git的控制,則可以省略--no索引選項和路徑至少一個外點 工作樹
的措辭「至少一個」似乎暗示比較可以一個回購文件和一個非回購文件之間進行,但在實踐中:
$ git diff master~2:myfile D:/folder/myfile error: Could not access: 'master~2:myfile' $ git diff master~2:myfile -- D:/folder/myfile fatal: D:/folder/myfile: 'D:/folder/myfile' is outside repository $ git diff --no-index master~2:myfile -- D:/folder/myfile usage: git diff --no-index <path> <path>
什麼是實現這種比較最簡單的方法?
你'高手〜2:myfile'不符合給定的「規定的標準*文件系統上的兩條路徑*「。我相信這是想說明你可以做'git diff myfile/path/to/otherfile',其中一個文件在你的工作目錄中,一個不在,不是它們中的一個可以是需要的一般blob refspec從你的對象存儲中拉出來...... – twalberg
啊,這很有道理,謝謝@twalberg。仔細閱讀課程。 – sundar