Dans git, si vous extrayez un commit directement, vous obtenez un gros avertissement commençant par:
"You are in 'detached HEAD' state. You can look around ..."
C'est très bien - j'ai l'intention d'être dans l'état détaché HEAD. Cependant, j'utilise ceci dans un script et je ne veux pas cet avertissement dans les journaux de sortie mais je veux la sortie normale.
Ma solution de contournement "laide" consiste maintenant à exécuter deux fois la même commande, d'abord avec -q pour masquer l'avertissement, et une fois de plus pour obtenir la sortie normale: HEAD is now at deadbeef... Message
puisque l'avertissement n'est imprimé qu'une seule fois.
L'avertissement peut-il être désactivé pour éviter les solutions de contournement ou l'analyse de la sortie?
Vous avez la configuration pour cette tâche:
Désactivez le message souhaité en définissant la valeur de configuration sur false:
# turn the detached message off
git config --global advice.detachedHead false
detachedHead
Conseil affiché lorsque vous avez utilisé git-checkout (1) pour passer à l'état detach HEAD, pour savoir comment créer une branche locale après coup.
advice.*
Ces variables contrôlent divers messages d'aide facultatifs conçus pour aider les nouveaux utilisateurs. Tous les conseils. * Les valeurs par défaut des variables sont true, et vous pouvez dire à Git que vous n'avez pas besoin d'aide en les définissant sur false:
Vous pouvez définir l'une des options suivantes après les conseils:
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.
Copie sans vergogne du commentaire de mjs pour le poster en tant que réponse:
git -c advice.detachedHead=false checkout <refspec>
Le paramètre -c advice.detachedHead=false
Vous permettra de supprimer l'avertissement sans avoir à modifier la configuration globale. Il ne s'appliquera qu'à la commande exécutée. Voici la liste de tous les conseils qui peuvent être supprimés .