作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想知道如何从我的 Git diff 中排除整个目录。 (在本例中为/spec)。我正在使用 git diff 命令为我们的整个软件版本创建差异。然而,对规范的更改与此过程无关,只会让人头疼。现在我知道我能做到
git diff previous_release..current_release app/
这将为 app 目录中的所有更改创建差异,但不会在 lib/目录中创建差异。有谁知道如何完成这个任务?谢谢!
编辑:我只想说清楚,我知道我可以将所有目录的参数串在最后,减去/spec。我希望有一种方法可以真正排除命令中的单个目录。
最佳答案
基于 this answer您还可以使用:
git diff previous_release..current_release -- . ':!spec'
这是一个新的 git 特性,允许排除某些路径。它应该比各种 shell oneliners 更可靠。
我在这里发布这个问题是因为这个问题仍然是“git diff exclude path”的#1 hit。
自 Git 2.13(2017 年第 2 季度)起,您可以将 !
替换为 ^
。后者不需要引号。所以你可以把它写成:
git diff previous_release..current_release -- . :^spec
关于git - 从 git diff 中排除一个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4380945/
我是一名优秀的程序员,十分优秀!