【问题标题】:git show: exclude a directory when checking a past commit's changesgit show:检查过去提交的更改时排除目录
【发布时间】:2016-07-07 16:37:44
【问题描述】:

我通常使用git show 命令检查提交引入的更改。这很好用,除非我只对在已更改文件的子集中引入的更改感兴趣。

有没有像git show --exclude some/path 这样的东西可以开箱即用?

【问题讨论】:

标签: git


【解决方案1】:

将@DavidN 的评论翻译成答案,这就是你得到的(人们可能没有意识到“git log”和“git show”采用所有相同的选项):

git show -- . ':!some/path'

需要 git 1.9 或更新版本。

这是一个示例,显示它在 php github repo 中的使用:

git remote -v
origin  https://github.com/php/php-src.git (fetch)

这是一个没有排除的“--name-only” git 节目:

git show -p -m --first-parent --name-only --oneline e231830f1683e
e231830 Merge branch 'PHP-5.6.18' into PHP-7.0.3
ext/phar/dirstream.c
ext/phar/tar.c
ext/phar/tests/bug71331.phpt
ext/phar/tests/bug71331.tar
ext/phar/tests/bug71354.phpt
ext/phar/tests/bug71354.tar
ext/phar/tests/bug71391.phpt
ext/phar/tests/bug71391.tar
ext/phar/tests/bug71488.phpt
ext/phar/tests/bug71488.tar
ext/standard/iptc.c
ext/standard/streamsfuncs.c
ext/standard/tests/file/stream_rfc2397_002.phpt
ext/standard/tests/network/socket_get_status_basic.phpt
ext/standard/tests/streams/bug71323.phpt
[etc...]

这里不包括“ext/phar”:

git show -p -m --first-parent --name-only --oneline e231830f1683e -- . ':!ext/phar'
e231830 Merge branch 'PHP-5.6.18' into PHP-7.0.3
ext/standard/iptc.c
ext/standard/streamsfuncs.c
ext/standard/tests/file/stream_rfc2397_002.phpt
ext/standard/tests/network/socket_get_status_basic.phpt
ext/standard/tests/streams/bug71323.phpt
[etc...]

【讨论】:

    【解决方案2】:

    如果您要忽略多个文件夹

    git show -- . ':!some/path' ':!some/other/path'
    

    【讨论】:

      猜你喜欢
      • 2021-10-19
      • 2021-02-24
      • 2021-02-22
      • 1970-01-01
      • 2011-08-17
      • 2015-08-19
      • 2021-04-30
      • 1970-01-01
      • 2017-04-16
      相关资源
      最近更新 更多