Est-il possible d'exécuter n'importe quelle commande git en mode "silencieux"? Par exemple, puis-je dire « git push origin
» et ne rien voir à l'écran?
Je suppose que je peux rediriger IO vers /dev/null
(fonctionne bien), mais .. est-ce que git permet quelque chose comme ça naturellement?
Vous trouverez ci-dessous un script rapide qui effectue un commit EOD automatique, utilisé lorsque j'ai besoin de prendre le train et que je ne veux pas laisser de code sur mon ordinateur local
1 clear
2
3 cd
4 cd repo/active
5
6 for i in *
7 do
8 cd $i
9 echo "Pushing " $i
10 git add . -A >> /dev/null
11 git commit -a -m "EOD automatic commit" >> /dev/null
12 git push origin >> /dev/null
13 echo
14 cd ..
15 done
S'il vous plaît, faites-moi savoir.
Réponses:
Rediriger la sortie vers / dev / null me semble être une manière naturelle de le faire. Bien que j'aie défini dans le passé une fonction shell quiet_git comme celle-ci pour une utilisation dans les tâches cron:
Cela supprimera stdout et stderr, sauf si la commande git échoue. Ce n'est pas joli; en fait, le fichier stdout est ignoré et il devrait simplement le rediriger vers / dev / null. Fonctionne, cependant. Et puis vous pouvez simplement faire "quiet_git push", etc. plus tard dans le script.
la source
Vous pouvez utiliser
--quiet
ou-q
, qui peut également être utilisé pour d'autres commandes Git:la source
git pull -q
ougit push origin master --quiet
. Je suis sur git 1.8.xgit pull -q origin master > /dev/null
donne "Total 4 (delta 3), réutilisé 4 (delta 3)". C'est avec git 2.0.1.git command >/dev/null 2>&1
. Cela redirige à la fois stdout et stderr vers / dev / null. Les--quiet
options sont pour générer une sortie succincte, pas pour supprimer entièrement la sortie @AnkurUtiliser
&> /dev/null
à la fin vous donne une sortie de commande git complètement silencieuse.la source
&>
est un opérateur de redirection bash IO. Regardez la version 3.6 ici tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.htmlNotez que même avec
--quiet
, agit fetch
(qui déclenche agit gc
) générerait une sortie.C'est à cause de la
git gc
partie dugit fetch
.Plus maintenant , à partir de git 2.1.1 (septembre 2014): voir commit 6fceed3bea59d747c160972c67663e8b8c281229 de Nguyễn Thái Ngọc Duy (
pclouds
)chercher: silence
git-gc
si--quiet
est donnébuiltin/fetch.c
:la source