此問題與以下問題相同: How to do a git diff on moved/renamed file? 但有一個重要的區別,我希望看到前一個提交中的文件版本和當前正在執行的版本之間的更改。git diff - 關於移動的文件?
git的差異--staged顯示整個文件中的一個側面被刪除:
--- a/old_path/main.cpp
+++ /dev/null
@@ -0,0 +1,42 @@
- line 1
- line 2
- line 3
- etc.
而在另一個添加整個文件:
--- /dev/null
+++ b/new_path/main.cpp
@@ -0,0 +1,42 @@
+ line 1
+ line 2
+ line 2.5
+ line 3
+ etc.
沒有比較實際的任何方便的方式兩者之間的差異。
+1,謝謝。我想要第二個,它適用於我的目的(new_path/main.cpp同時包含暫存和非暫存更改)。第一個給出了什麼git diff --staged已經給了。 – augustin
man gitrevisions提到「舞臺編號(0到3)」,但似乎沒有定義數字對應的內容...... man git-stage/git-add似乎也對這個主題是靜音的。任何想法? – augustin
嗯......也許你需要更新版本的'git'手冊頁...我的(v1.7.12.3)在'::''gitrevisions(7)'的標題下說:「」一個缺失的階段號......命名一個階段0條目,在合併期間,階段1是共同的祖先,階段2是目標分支的版本......,階段3是來自正在合併的分支的版本。 –
twalberg