2013-06-13 29 views
5

好的情況如下。 。 。無法在移動的文件上運行git diff

  1. 將一堆文件的下一個新的文件夾中的GIT
  2. 現在我想查看這些文件
    • 之一提交歷史正常情況下,git log filename就夠
    • 由於文件已經移動我可以實現這與git log--follow filename
  3. --follow命令給了我完整的歷史,但我不幸我無法com削減在這個從兩部SHA的特定文件

例如,我可以運行git diff SHA1 SHA2這將返回所有這些提交之間進行的文件更改。

但是,如果我嘗試將其降低到文件級別進行比較(git diff SHA1 SHA2 filename),它將不會返回任何內容!

(雖然這個文件中的SHA變化顯示,先前的差異)

有沒有人碰到這之前..

據我所知,提交之間的文件移動,像這樣我曾嘗試變化

git的差異--follow SHA1 SHA2名

無濟於事。

有沒有其他人經歷過這種情況,如果是的話,他們是否有解決方案?

回答

4

另一個值得研究的選項是-M。然而,在可能的情況下,這並沒有幫助,要麼,你可以手動通知Git這樣正確的文件路徑:

git diff SHA1:path/to/file1 SHA2:path/to/file2 

(該路徑必須是相對於回購的最高級別)