我想知道如何从我的Git diff中排除整个目录(在本例中是/spec)。我正在使用git diff命令为我们整个软件版本创建一个diff。然而,规格的更改与此过程无关,只会造成头痛。现在我知道我能做到
git diff previous_release..current_release app/
这将为app目录中的所有更改创建一个差异,但不会为lib/目录中的实例创建差异。有人知道怎么完成这个任务吗?谢谢!
编辑:我只是想说清楚,我知道我可以把所有目录的参数串在末尾,减去/spec。我希望有一种方法能够真正排除命令中的单个目录。
基于这个答案,你还可以使用:
git diff previous_release..current_release -- . ':!spec'
这是git的一个新特性,允许排除某些路径。它应该比各种shell程序更可靠。
我在这里发布这个问题是因为这个问题仍然是“git差异排除路径”的第一热门。
从Git 2.13 (Q2 2017)开始,你可以替换!^。后者不需要引用。所以你可以写成
git diff previous_release..current_release -- . :^spec
基于这个答案,你还可以使用:
git diff previous_release..current_release -- . ':!spec'
这是git的一个新特性,允许排除某些路径。它应该比各种shell程序更可靠。
我在这里发布这个问题是因为这个问题仍然是“git差异排除路径”的第一热门。
从Git 2.13 (Q2 2017)开始,你可以替换!^。后者不需要引用。所以你可以写成
git diff previous_release..current_release -- . :^spec