diff 不包含新文件

diff does not contain new files

我正在开发一个使用 git 的项目。每当我进行更改时,我都会向应用并提交它的主要开发人员提交一个补丁。到目前为止一切顺利:

git diff > somepatch.patch

但是当我创建新文件时,上面的命令不起作用。它创建了一个不包含我创建的新文件的补丁。我尝试像这样将它们添加到 git:-

git add path/to/the/file.qml

但这也行不通。

如果您已经将更改添加到存储库,它们将不会出现在 git diff 输出中,除非您使用 --staged 参数请求已添加到索引的更改。

git diff --staged > your.patch

因此,如果您混合使用已添加和未添加的更改,您甚至可以使用

git add .

然后继续你的差异。


作为旁注,另一种方法是取消所有内容并在没有 --staged 的情况下进行经典差异:

git reset HEAD
git diff > your.patch