Git 如何显示当前工作目录和上次提交的差异?

Git 如何显示当前工作目录和上次提交的差异?,git,staging,git-diff,working-directory,Git,Staging,Git Diff,Working Directory,我正在使用git,需要包含在diff结果未跟踪文件中。那么,我必须执行什么命令才能获得当前工作目录和头部之间的所有差异,甚至部分差异存在于新文件添加中?Um,git diff?毕竟,它就是这样做的 更新:“不在暂存区域的文件”并不意味着“未跟踪的文件”。这是两个独立的类别。当您git添加文件或更改时,文件或更改将被“暂存”。未跟踪的文件是git目前没有跟踪的文件,根据您的评论,这些文件似乎就是您询问的文件。据我所知,没有办法让git向您显示不同的未跟踪文件。考虑到他们没有被追踪,这真的没有意义。

我正在使用git,需要包含在diff结果未跟踪文件中。那么,我必须执行什么命令才能获得当前工作目录和头部之间的所有差异,甚至部分差异存在于新文件添加中?

Um,
git diff
?毕竟,它就是这样做的

更新:“不在暂存区域的文件”并不意味着“未跟踪的文件”。这是两个独立的类别。当您
git添加文件或更改时,文件或更改将被“暂存”。未跟踪的文件是git目前没有跟踪的文件,根据您的评论,这些文件似乎就是您询问的文件。据我所知,没有办法让git向您显示不同的未跟踪文件。考虑到他们没有被追踪,这真的没有意义。您所要求的只是查看一些文件的内容。Git确实能够将未跟踪的文件与
ls文件一起列出
,因此,如果您处于类似*nix的环境中,您可以轻松地构造一个命令来执行所需操作:

git ls-files -o | xargs cat

-o
选项告诉它列出所有未跟踪文件的名称。上述内容自然会将所有未跟踪文件的内容打印到stdout。

当我在工作目录中只添加新文件时,不会显示任何内容。在问题正文中,放置“需要包含不在暂存区域中的文件”。不管怎样,谢谢你。关于暂存和未跟踪文件,你是对的,我说暂存是指未跟踪的文件。我会更新我的问题。但我的要求是有道理的,想想。。。在执行命令之前,我希望看到它将被添加到我的staged中。
,为此我需要一种组合
git diff
加上
git ls文件-o | xargs cat
,我认为git必须有一个命令才能得到我想要的,git以多种方式与工作目录交互,我认为这可能是一个好主意,我不会和你分享“考虑到他们没有被追踪,这真的没有意义”的想法。注意:如果你所做的只是制作新文件,git diff将一无所获——(在回答评论中提到)