diff不包含新文件

时间:2018-12-13 12:07:03

标签: git diff git-index

我正在使用git的项目中工作。每当我进行更改时,我都会向主要开发人员提交补丁,然后再提交并提交。到目前为止,一切都很好:

git diff > somepatch.patch

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

git add path/to/the/file.qml

但是这也不起作用。

1 个答案:

答案 0 :(得分:3)

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

git diff --staged > your.patch

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

git add .

然后进行比较。


作为一个旁注,另一种选择是取消所有内容的发布并在没有--staged的情况下进行经典的比较:

git reset HEAD
git diff > your.patch