git的新手-我已经将bitBucket(git协议存储库)存储库克隆到了我的本地工作区中-现在它是本地存储库,然后我将文件复制到了该文件夹中。现在-当尝试使用以下命令查看所有未暂存的文件时:
git ls-files --others --exclude-standard
我看到了一些文件夹和文件,但是没有一个特定的文件夹(src),尽管我可以在文件系统中以及在ls父文件夹中看到它。我也将.gitignore文件设置为空。 可能是什么原因呢?
答案 0 :(得分:0)
git ls-files --others --exclude-standard
不列出未暂存的文件。它会列出未跟踪的文件,并减去.gitignore
中标记为“不要抱怨这些文件”的文件以及类似的排除文件。
未暂存文件是git status
特有的概念。如果文件 index 1 中的文件副本与文件中的 不同,则文件{em> unstaged 在git status
输出中。复制工作树中的内容。
要获取索引副本和工作树副本之间不同的文件名列表,请使用git diff
(不带附加commit或--cached
参数)和--name-only
或{ {1}}参数,它告诉Git仅显示运行差分引擎的结果的名称(以及可选的状态字母代码)。请注意,--name-status
在启用重命名检测并将其设置为50%的情况下运行引擎(这是不可配置的),而git status
以您配置它的方式或通过其他命令行指定的方式运行参数。 2
(请注意,git diff
在内部运行 two git status
-es。第一个将git diff --name-status
与索引进行比较。为此,请使用{{1} }命令,运行HEAD
。这里列出的所有文件都是git diff
将调用暂存的文件。)
1 术语 index ,暂存区和(目前很少见)缓存均指在Git中也是如此。索引包含要在 next 提交中的每个文件的副本。根据定义,将跟踪索引中的文件,因此它们将不会出现在git diff --cached --name-status
输出中。
2 请参见the git config
documentation中的git status
。如果尚未配置此设置,则在2.9之前的Git版本中默认值为git ls-files --others
,在2.9以及更高版本中的默认值为diff.renames
。
答案 1 :(得分:0)
问题是我想查看以便上传的目标文件夹包含很多子目录,但是它们都为空,因此,按照定义-GIT并未将其列出为与提交相关