gpt4 book ai didi

regex - 从命令行使用 git 属性

转载 作者:太空狗 更新时间:2023-10-29 14:39:10 25 4
gpt4 key购买 nike

我的仓库中有这个配置:

echo '*.java diff=java' >> .gitattributes

当我执行 git diff ... 时,我得到了预期的结果。

但是,我正在做一个脚本来分析其他 git 存储库,所以我通常这样做:

git --git-dir='/path/to/repo/.git' diff ...

我想做的是像那样运行脚本,并获得与属性存在时相同的结果。我不想设置全局属性或将 .gitattributes 添加到我要分析的 git 项目中。我不介意像

git --git-dir='/path/to/repo/.git' diff --word-diff-regex=<java-rexeg> 

但我不知道如何获取 git 使用的 java 正则表达式。

最佳答案

来自git help config:

core.attributesfile

In addition to .gitattributes (per-directory) and .git/info/attributes, git looks into this file for attributes (see gitattributes(5)). Path expansions are made the same way as for core.excludesfile. Its default value is $XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/attributes is used instead.

换句话说,您可以在 $XDG_CONFIG_HOME/git/attributes 中创建自己的属性文件,并将 XDG_CONFIG_HOME 传递给您的 git 调用,如下所示:

XDG_CONFIG_HOME=config_dir git --git-dir='/path/to/repo/.git' diff ...

因为您完全控制什么是 XDG_CONFIG_HOME,所以它不会是真正的全局性 - 您可以完全即时完成。

或者,在 $HOME/.config/git/attributes 中创建全局 git 属性文件可能更简单。

关于regex - 从命令行使用 git 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com