我正在使用git,并且需要在差异结果中包含未跟踪的文件。那么我必须执行什么命令才能获取当前工作目录和HEAD之间的所有差异,即使部分差异存在于新文件添加中?
您可以执行以下命令来获取所有差异(包括未跟踪的文件):git diff HEAD
我正在使用git,并且需要在差异结果中包含未跟踪的文件。那么我必须执行什么命令才能获取当前工作目录和HEAD之间的所有差异,即使部分差异存在于新文件添加中?
您可以执行以下命令来获取所有差异(包括未跟踪的文件):git diff HEAD
嗯,git diff
?毕竟这就是它的作用。
更新:“未在暂存区的文件”并不意味着“未被跟踪的文件”,它们是两个不同的类别。当您使用git add
命令添加文件或更改时,它们会变成“已暂存”状态。未被跟踪的文件是指当前没有被 Git 跟踪的文件,根据您的评论,这些似乎是您询问的文件。我不知道有什么方法可以让 Git 显示未被跟踪的文件的 diff。这是没有意义的,因为这些文件没有被跟踪。您所要求的只是查看某些文件的内容。Git 有能力使用 ls-files
列出未被跟踪的文件,所以如果您在一个 *nix 类型的环境中,您可以轻松构建一个命令来完成您所寻找的功能:
git ls-files -o | xargs cat
-o
选项告诉它列出所有未跟踪文件的名称。上述内容自然只会将所有未跟踪文件的内容打印到标准输出(stdout)。git add .
之前查看将被添加到我已分阶段的内容,并且为此我需要一种结合了git diff
和git ls-files -o | xargs cat
的方式。我认为Git一定有一条命令可以得到我想要的结果,Git以很多方式与工作目录进行交互,我认为这可能是一个好方法,我不同意你“这没有任何意义,因为它们都未被跟踪”的想法。 - user1785721