2014-01-22 31 views
0

我的回購中有一個文件。我用git mv重命名了這個文件。然後我做了一些編輯。我沒有做任何事情。所以,當我運行的git狀態,它顯示了在我的索引重命名爲:git diff在索引中重命名爲HEAD的文件

renamed: A.txt -> B.txt 

我想中DIFF我的指數的變化,文件B.txt中,對a.txt中的最新版本。我怎樣才能做到這一點?我發現了一些類似的問題,這些問題通過提及-M選項得到了回答,但都是關於您將一次提交與另一次提交區分開的情況。對於提交,不會在您的索引中分階段進行更改。

回答

0

似乎按預期爲我工作。下面的Console.log。也許我誤解了一些東西。我也展示了我的git版本。

➜ xg git:(home) ✗ git init 
Initialized empty Git repository in ~/xg/.git/ 
➜ xg git:(master) echo cool > a.txt 
➜ xg git:(master) ✗ git add . 
➜ xg git:(master) ✗ git commit -m cool 
[master (root-commit) 93c4809] cool 
1 file changed, 1 insertion(+) 
create mode 100644 a.txt 
➜ xg git:(master) git mv a.txt b.txt 
➜ xg git:(master) ✗ ls 
b.txt 
➜ xg git:(master) ✗ echo beans >> b.txt 
➜ xg git:(master) ✗ git diff 
diff --git a/b.txt b/b.txt 
index 2b58f89..56b656c 100644 
--- a/b.txt 
+++ b/b.txt 
@@ -1 +1,2 @@ 
cool 
+beans 
➜ xg git:(master) ✗ git --version 
git version 1.8.3.4 (Apple Git-47) 
➜ xg git:(master) ✗ 
+0

出於某種原因,並沒有爲我工作,但我也終於有一些作品結束。刷新以查看適合我的答案。 –

0

最後想出了一個工作解決方案。我在Windows上使用msys git,這可能也可能不是相關的,但我沒有把它與git diff一起使用,就像另一張海報中提到的那樣。

git的差異-M50 HEAD - [oldpath] [NEWPATH]

+0

'git mv'可以重命名,所以'git diff --staged'或'git difftool --staged'會顯示出你需要的東西。 'git mv','git diff'之後的任何更改都只能正確顯示更改。 – hIpPy