如果你要找的东西是储藏室,为什么还要git show
使用两个+
或-
符号(即++
和)?它看起来像这样:--
show
diff --cc test.txt
index fe9fc5a,fe9fc5a..5b776c1
--- a/test.txt
+++ b/test.txt
@@@ -1,2 -1,2 +1,2 @@@
--Hello, world!
--Goodbye, world!
++Hello, universe!
++Goodbye, universe!
只是好奇...
重现:
$ git init
Initialized empty Git repository in /tmp/test/.git/
$ cat > test.txt <<EOF
Hello, world!
Goodbye, world!
EOF
$ git add test.txt
$ git commit -m 'initial commit'
[master (root-commit) b6ad668] initial commit
1 file changed, 2 insertions(+)
create mode 100644 test.txt
$ sed -i 's/world/universe/' test.txt
$ git stash
Saved working directory and index state WIP on master: b6ad668 initial commit
HEAD is now at b6ad668 initial commit
$ git show stash@{0}
commit d8b13c608945ffd3c5705a1960f96616b603d134
Merge: b6ad668 58aaf4f
Author: Mitchel Humpherys <[email protected]>
Date: Wed Jan 30 17:47:02 2013 -0800
WIP on master: b6ad668 initial commit
diff --cc test.txt
index fe9fc5a,fe9fc5a..5b776c1
--- a/test.txt
+++ b/test.txt
@@@ -1,2 -1,2 +1,2 @@@
--Hello, world!
--Goodbye, world!
++Hello, universe!
++Goodbye, universe!
答案1
该diff
程序可以显示两个以上文件之间的差异,在这种情况下,会使用多列“+”和“-”。存储区存储了暂存的工作目录更改以及未暂存的更改。生成的差异会为您提供有关两者的信息。
请参阅git help diff
“组合差异格式”一节中的 。它将解释每列加号和减号如何显示两个不同文件之间的差异。这里,第一列显示存储时和工作目录之间的差异HEAD
,第二列显示索引和工作目录之间的差异。
要查看差异,请修改示例以在进行存储之前暂存其中一项更改,例如:
$ git init
$ # create the file
$ git commit -a -m 'initial commit'
$ # edit the first line of the file
$ git add test.txt
$ # edit the second line of the file
$ git stash
$ git stash show
- Hello, world!
- Goodbye, world!
+ Hello, universe!
-Goodbye, world!
++Goodbye, universe!
从第一列中,您可以看到自上次提交以来两行都发生了变化,但只有“再见,宇宙”!在索引和工作目录之间发生了变化。