首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不包括git-diff中的文件?

不包括git-diff中的文件?
EN

Stack Overflow用户
提问于 2018-04-04 05:28:55
回答 2查看 0关注 0票数 0

我正在用git追踪一个项目。工作副本中有一些Xcode项目文件,我想继续跟踪,但不想在Diffs中看到,因为总有几十行更改的行是我从未感兴趣的。有没有简单的方法git-diff跳过这些文件?我尝试设置一个自定义的“静默”diff工具:

代码语言:txt
复制
$ cat .gitattributes 
Project.xcodeproj/* diff=nodiff

$ cat ~/.gitconfig 
[diff "nodiff"]
    command = /bin/true

但是:

代码语言:txt
复制
$ git diff
external diff died, stopping at Project.xcodeproj/zoul.mode1v3.

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2018-04-04 13:46:15

问题是/bin/true将立即返回,而不读取其输入。git diff因此,相当合理地认为,它已经过早地死去了。

你真正想做的是取消diff属性,而不是将其设置为伪命令。试试这个.gitattributes:

代码语言:txt
复制
Project.xcodeproj/* -diff
票数 0
EN

Stack Overflow用户

发布于 2018-04-04 14:36:54

另一种不需要任何外部工具而产生干净输出的解决方案(添加到.git/config*

代码语言:txt
复制
[alias]
    mydiff = !git diff -- $(git diff --name-only | grep -Ev "Project.xcodeproj/")

然后运行它:

代码语言:txt
复制
git mydiff

注意:git diff --name-onlygit ls-files因为它会将一个较短的文件列表传递给git diff,因为只包含修改过的文件。在大型项目中,我遇到了超过最大参数数的麻烦。git ls-files

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档