如何关闭Git输出中的帮助提示?

14

我在终端中使用git并且已经熟记了大部分需要的命令。因此,我希望抑制输出中的“帮助提示”,即以(use "git ...开头的括号中的所有文本,以使输出更简洁。

我知道--short--porcelain这两个标志,但我认为这样输出的可读性会降低。

有没有一种方法保持默认格式的输出但没有帮助文本呢?

示例:

git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.

Changes not staged for commit:

    modified:   file1.txt
    modified:   file2.txt

Untracked files:

    untracked_file.txt

no changes added to commit 

...而不是...

git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)

Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

    modified:   file1.txt
    modified:   file2.txt

Untracked files:
  (use "git add ..." to include in what will be committed)

    untracked_file.txt

no changes added to commit (use "git add" and/or "git commit -a")

试试看运行 git config --global status.hints false 是否有效。 - Lasse V. Karlsen
2
对我没用,但是在考虑到这些信息后进行了更多搜索,找到了这个 git config --global advice.statusHints false,它起作用了。 - jost21
1
啊,抱歉,我搞错了,在我的用户文件中找到了设置,当我谷歌搜索配置命令的确切语法时,我的大脑决定忘记了一半的内容。我想现在是睡觉的时间了。 - Lasse V. Karlsen
3个回答

17

Git可以通过在配置中使用'advice.*'键来提供启用/禁用建议。有关更多信息,请参见git help config在线手册。以下14个变量存在:

advice.pushUpdateRejected
advice.pushNonFFCurrent
advice.pushNonFFMatching
advice.pushAlreadyExists
advice.pushFetchFirst
advice.pushNeedsForce
advice.statusHints
advice.statusUoption
advice.commitBeforeMerge
advice.resolveConflict
advice.implicitIdentity
advice.detachedHead
advice.amWorkDir
advice.rmHints

你可以使用git config --global advice.*来设置它们。例如:git config --global advice.statusHints false。请注意,我并没有看到一种同时禁用所有的方式。


1
这大大改善了我的Git使用体验。谢谢。 - Zach_is_my_name
git help --config | grep -P '^advice\.' | … - Jan Kyu Peblik
1
并非所有提示都可以通过建议键禁用,您还需要使用 git config --global init.defaultBranch <name> 来设置默认分支以停止在创建存储库时出现建议。 - Ferrybig
你可以同时发布一下 man 手册的链接吗? - Junaga

1
你还可以将以下代码片段添加到你的~/.gitconfig文件中:
[advice]                                                                        
    statusHints = false                                                         
    pushUpdateRejected = false                                                  
    pushNonFFCurrent = false                                                    
    pushNonFFMatching = false                                                   
    pushAlreadyExists = false                                                   
    pushFetchFirst = false                                                      
    pushNeedsForce = false                                                      
    statusHints = false                                                         
    statusUoption = false                                                       
    commitBeforeMerge = false                                                   
    resolveConflict = false                                                     
    implicitIdentity = false                                                    
    detachedHead = false                                                        
    amWorkDir = false                                                           
    rmHints = false

0

@somnium创建了一个列表,这里是一种全局禁用所有建议的方法:

man git-config | sed '0,/advice.*/d;/^       \w/,$d' | grep '^           \w\+$' | xargs -i% git config --global --add advice.% false

由于依赖于手册格式,这有点脆弱,但应该可以可靠地工作。


1
git help --config | grep -P '^advice\.' | … - Jan Kyu Peblik
以上代码返回的变量比git help --config | ..少4个,截至git 2.39.2版本。 - Marco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接