【问题标题】:git config diff.name-only?git config diff.name-only?
【发布时间】:2015-10-23 12:48:29
【问题描述】:

是否可以在默认情况下使git diff 显示--name-only 输出(即无需显式键入--name-only)?

我知道您可以使用git config 为某些 git 选项设置默认值,但我不知道如何在命令行选项和配置选项之间进行映射。我依靠谷歌搜索来查看其他已经这样做的人,但我没有看到任何人想要这个特定的默认设置。

【问题讨论】:

    标签: git git-diff git-config


    【解决方案1】:

    根据GitConfig,配置变量中没有这个选项,所以只能使用Git Aliases来实现

    git config --global alias.diffn 'diff --name-only'
    

    或者在.gitconfig下的[alias]部分手动设置:

    diffn = diff --name-only
    

    我还建议查看dotfiles repos 以获得更多关于别名的灵感和.gitconfig

    【讨论】:

    • 我刚试过这个。由于某种原因它不起作用,我仍然得到文件内容差异。但无论如何,我很快就会将此标记为正确答案。我检查了我的.gitconfig 以验证该行是否已添加,并且在正确的位置。
    • 实际上,似乎另一个别名log = log --format=oneline 也不起作用。我的 .gitconfig 文件是符号链接,其他配置有效。 [alias] 部分发生了一些奇怪的事情。
    • 我读了更多,似乎别名不能替换默认工具的名称(显然有调用优先级)。而且由于没有默认选项,似乎唯一的方法就是创建类似的别名。我更新了答案
    • 这很不幸。感谢您对此进行研究。
    【解决方案2】:

    您可以使用 bash 别名

    echo "alias gitdiffname='git diff --name-only'">>~/.profile
    
    source ~/.profile
    
    gitdiffname
    

    【讨论】:

    • 我应该在我的原始帖子中说,我知道我可以使用别名,但我想避免记住更多命令。 (出于这个原因,我使用键绑定而不是别名,但我用完了击键)。
    猜你喜欢
    • 2017-01-12
    • 1970-01-01
    • 2013-10-30
    • 2022-10-30
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 2012-07-31
    • 2021-11-30
    相关资源
    最近更新 更多