【发布时间】:2019-03-21 06:56:16
【问题描述】:
请注意(我正在使用 posh-git):
C:\xyz\git [master ↑2 +27 ~0 -0 !]> git diff --name-only
C:\xyz\git [master ↑2 +27 ~0 -0 !]>
27 个文件夹未暂存,每个文件夹都有一些文件。没有进行任何更改。
为什么不显示任何文件?
编辑 1
下面的简单记录说明了这个问题:
C:\xyz> mkdir git
Directory: C:\xyz
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 10/16/2018 1:20 PM git
C:\xyz> cd git
C:\xyz\git> git init
Initialized empty Git repository in C:/xyz/git/.git/
C:\xyz\git [master]> echo hello > 1.txt
C:\xyz\git [master +1 ~0 -0 !]> git diff --name-only
C:\xyz\git [master +1 ~0 -0 !]> git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
1.txt
nothing added to commit but untracked files present (use "git add" to track)
C:\xyz\git [master +1 ~0 -0 !]>
编辑 2
根据https://git-scm.com/docs/git-diff:
git diff [<options>] [--] [<path>…]
此表格用于查看更改 您相对于索引(下一次提交的暂存区)。在 换句话说,差异是你可以告诉 Git 进一步 添加到索引,但你还没有。您可以通过以下方式暂存这些更改 使用 git-add[1]。
据我了解,这意味着上面脚本中的git diff --name-only 命令应该列出 1.txt
【问题讨论】:
-
他们被忽略了吗?
-
否,否则它们不会出现在 posh-git 提示符中。
-
他们已经添加了吗?这也可以解释为什么他们没有出现。
-
添加了说明 - 没有进行任何更改。
-
我会说它与默认情况下的 diff 行为方式一致。如果您创建具有特定内容的文件并运行 git diff,它不会向您显示该文件(因为它没有被跟踪)所以我想如果您要求 --name-status也不会显示它>
标签: git