如何在git diff中跳过某些文件?

3
我希望可以在git diff命令中跳过某些文件。由于我需要这些文件并且会不断更新,所以无法将它们放入.gitignore列表中。 .gitattributes似乎可以解决我的问题,但是我对如何操作不是很清楚。 我已经尝试将这些文件放入.gitignore,但是发现git在执行git diff时仍然会将这些文件视为.gitignore中的文件。 我想要像这个例子一样实现,但是我的git版本(git version 2.14.1.windows.1)不能使用。 这个问题提到了通过将要跳过的文件作为参数传递给git diff命令来跳过文件。但是这样做就需要跟踪所有的文件。我希望能够将跳过的文件列表放入某种.git_______文件中,以便Git在执行git diff时隐式地跳过这些文件。

@RomainVALERI 不完全相同! 我想将所有要跳过的文件列表保存在一个单独的文件中,例如.gitattributes,以便在进行git-diff时可以使用。 这样可以避免我在使用参数跳过文件时需要跟踪哪些文件,就像上面链接中所提到的那样。 - Ashish Gaude
你发的那个类似的东西在2.14之前就已经存在于Git中了。 - jthill
@jthill 是的!我能够理解。谢谢。 - Ashish Gaude
1个回答

1
我们可以在git存储库的根目录中的.gitattributes文件中添加要跳过的所有文件。
在Windows上使用此命令git config diff.nodiff.command C:/"Program\ Files"/Git/usr/bin/true,在Mac上使用git config diff.nodiff.command usr/bin/true来设置git配置。
.gitattributes内容可以如下所示:
Readme.md diff=nodiff
xzy.txt diff=nodiff

然后,这应该跳过Readme.md和xyz.txt文件的更改,同时进行git diff!

1
此外,您可以在.git/info/attributes中拥有一个存储库本地属性文件。 - jthill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接