2016-04-22 41 views
10

禁用警告Git中,如果你签一个直接提交你得到一个大胖子警告开始:关于分离的头

"You are in 'detached HEAD' state. You can look around ..." 

这很好 - 我打算在分离的头的状态。不过,我正在脚本中使用它,我不希望在输出日志中发出此警告,但我确实需要正常输出。

我现在的“丑陋”解决方法是运行相同的命令两次,首先用-q隐藏警告,再用一次获得正常输出:HEAD is now at deadbeef... Message,因为警告只打印一次。

警告是否可以禁用,这样我可以避免变通方法或解析输出?

回答

17

你有此任务的配置:

由配置值设置为false,设置所需的信息关:

# turn the detached message off 
git config --global advice.detachedHead false 

detachedHead

所示咨询时你用git-checkout(1)移动到detach HEAD状态,指导如何创建al事实后的ocal分支。


advice.*

这些变量控制,旨在帮助新用户的各种可选的帮助信息。所有的建议*变量默认为真,并通知Git,你不要被这些设置为false,需要帮助。

您可以设置任何意见后如下:

git config --global advice.<...> 


pushUpdateRejected 
    Set this variable to false if you want to disable 
     pushNonFFCurrent, 
     pushNonFFMatching, 
     pushAlreadyExists, 
     pushFetchFirst, and 
     pushNeedsForce simultaneously. 

pushNonFFCurrent 
    Advice shown when git-push(1) fails due to a non-fast-forward update 
    to the current branch. 

pushNonFFMatching 
    Advice shown when you ran git-push(1) and pushed matching refs 
    explicitly (i.e. you used :, or specified a refspec that isn’t your 
    current branch) and it resulted in a non-fast-forward error. 

pushAlreadyExists 
    Shown when git-push(1) rejects an update that does not qualify 
    for fast-forwarding (e.g., a tag.) 

pushFetchFirst 
    Shown when git-push(1) rejects an update that tries to overwrite a 
    remote ref that points at an object we do not have. 

pushNeedsForce 
    Shown when git-push(1) rejects an update that tries to overwrite a 
    remote ref that points at an object that is not a commit-ish, or make 
    the remote ref point at an object that is not a commit-ish. 

statusHints 
    Show directions on how to proceed from the current state in the output 
    of git-status(1), in the template shown when writing commit messages in 
    git-commit(1), and in the help message shown by git-checkout(1) when 
    switching branch. 

statusUoption 
    Advise to consider using the -u option to git-status(1) when the command 
    takes more than 2 seconds to enumerate untracked files. 

commitBeforeMerge 
    Advice shown when git-merge(1) refuses to merge to avoid overwriting 
    local changes. 

resolveConflict 
    Advice shown by various commands when conflicts prevent the operation 
    from being performed. 

implicitIdentity 
    Advice on how to set your identity configuration when your information 
    is guessed from the system username and domain name. 

detachedHead 
    Advice shown when you used git-checkout(1) to move to the detach HEAD 
    state, to instruct how to create a local branch after the fact. 

amWorkDir 
    Advice that shows the location of the patch file when git-am(1) fails 
    to apply it. 

rmHints 
    In case of failure in the output of git-rm(1), show directions on 
    how to proceed from the current state. 
+0

谢谢,正是我期待的。 – Zitrax

+0

很酷。高兴地帮助 – CodeWizard

+20

要暂时禁用此警告(即不更改配置),请执行诸如'git -c advice.detachedHead = false checkout '之类的操作。 – mjs

10

无耻地抄袭MJS的评论发布它作为自己的一个答案:

git -c advice.detachedHead=false checkout <refspec> 

-c advice.detachedHead=false参数可以让你抑制警告,而无需改变全局配置。它只适用于命令。