执行 git diff 时没有效果 -- ':(exclude)package-lock.json'

Oli*_*vvv 11 git package-lock.json

我想做一个 diff,但没有 package-lock.json,它很大,并且是一个生成的文件,所以对我来说没有什么有趣的。我都尝试过:

git diff -- ':(exclude)package-lock.json'

git diff -- ':!package-lock.json'
Run Code Online (Sandbox Code Playgroud)

但它的输出为零。我究竟做错了什么 ?我正在运行 git 2.21.0

phd*_*phd 18

在使用排除路径规范之前,您需要列出非排除路径。例如,点或魔根:/

git diff -- . ':(exclude)package-lock.json'
git diff -- . ':!package-lock.json'
Run Code Online (Sandbox Code Playgroud)


mac*_*ost 10

如果您不想每次运行时都添加参数git diff,您可以将一个.gitattributes文件添加到存储库的根目录,然后向其中添加以下行(实际上是两行,但第一行是解释性的)评论,并且是可选的):

#exclude package-lock from git diff
package-lock.json -diff
Run Code Online (Sandbox Code Playgroud)

添加该文件后,您将能够执行常规的 old 操作git diff,无需其他参数,并且仍然不必查看所有差异package-lock.json