【问题标题】:Disable warning about detached HEAD禁用有关分离 HEAD 的警告
【发布时间】:2016-08-16 02:59:23
【问题描述】:

在 git 中,如果你直接签出一个提交,你会收到一个很大的警告:

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

没关系 - 我打算处于分离的 HEAD 状态。但是我在脚本中使用它,我不希望在输出日志中出现此警告,但我确实想要正常输出。

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

可以禁用警告,以便我可以避免解决方法或解析输出吗?

【问题讨论】:

    标签: git warnings detach


    【解决方案1】:

    无耻地抄袭mjs的评论,自己贴出来作为答案:

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

    -c advice.detachedHead=false 参数将允许您取消警告,而无需更改全局配置。它只适用于执行的命令。 Here's the list of all advises that can be suppressed.

    【讨论】:

      【解决方案2】:

      你有这个任务的配置:

      通过将配置值设置为 false 来关闭所需的消息:

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

      detachedHead

      当您使用 git-checkout(1) 移动到分离 HEAD 状态时显示的建议,以指导如何在事后创建本地分支。


      advice.*

      这些变量控制旨在帮助新用户的各种可选帮助消息。所有建议。* 变量默认为 true,您可以通过将这些设置为 false 来告诉 Git 您不需要帮助:

      您可以在建议之后设置以下任何一项:

      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.
      

      【讨论】:

      • 谢谢,正是我想要的。
      • 酷。很高兴为您提供帮助
      • 要暂时禁用此警告(即不更改配置),请执行 git -c advice.detachedHead=false checkout &lt;refspec&gt; 之类的操作。
      • @mjs 应该比免费代表;) 的答案。大多数情况下,我希望这些命令用于 shell 脚本中的一次性操作,并且全局修改 a) 不可移植,b) 与“我的”环境混淆。
      • @NickT 同意,我这样做是因为它对我也非常有用^^
      猜你喜欢
      • 2014-11-17
      • 2010-11-29
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 2014-09-06
      相关资源
      最近更新 更多