Peut git fonctionner en “mode silencieux”?
Est-il possible d'exécuter n'importe quelle commande git en mode "silencieux"? Par exemple, je peux dire "git push origin
" et ne voit rien d'affiché sur l'écran?
Je suppose que je peux rediriger les e /s /dev/null
(fonctionne très bien), mais .. est-ce que git permettre quelque chose comme ça naturellement?
Ci-dessous est un moyen rapide de script qui ne automatique de NEM s'engager, utilisé quand j'ai besoin de prendre le train et ne veulent 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 laissez-moi savoir.
- Sans rapport: plutôt que d'habillage cmd cd $i, cd .., vous pouvez le faire: for i in *; do ( cd $i; ...; ); fait et exécutez le cd dans un shell interne est exécuté. C'est moins fragile.
- Soins de déplacer la "bonne" marque ThomasEdwards réponse? Il répond vraiment à la façon "naturelle".
- Je me demande ce que Linus avait à l'esprit lorsqu'il a développé git, parce que c'est clairement la rupture de la base de UNIX règle qui dit que le silence est d'or. Ce qui n'a pas été répondu ici est de savoir si il est possible de placer des paramètres git config pour en faire une bonne UNIX citoyen, une fois pour toutes.
Vous devez vous connecter pour publier un commentaire.
Redirection de la sortie vers /dev/null semble comme un moyen naturel de le faire pour moi. Bien que dans le passé j'ai défini un quiet_git shell fonction comme celle-ci pour une utilisation dans des tâches cron:
Cela permettra de supprimer stdout et stderr, à moins que la commande git échoue. Ce n'est pas assez; en fait, la sortie standard (stdout) fichier est ignoré et il faut juste redirigez vers /dev/null. Fonctionne, bien que. Et puis, vous pouvez simplement faire "quiet_git push" etc. plus loin dans le script.
Vous pouvez utiliser
--quiet
ou-q
, qui peut également être utilisé pour d'autres commandes Git:git pull -q
ougit push origin master --quiet
. Je suis sur git 1.8.xgit pull -q origin master > /dev/null
rendements "Total 4 (delta 3), réutilisé 4 (delta 3)". C'est avec git 2.0.1.git command >/dev/null 2>&1
. Cette redirige les deux stdout et stderr vers /dev/null. Le--quiet
sont les options pour la génération sortie succincte, pas pour la suppression de sortie entièrement @MaumauÀ l'aide de
&> /dev/null
à la fin vous donne un complètement silencieux git de sortie de la commande.&>
est un bash IO redirect de l'opérateur. Regardez 3.6 ici tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.htmlNoter que même avec
--quiet
, ungit fetch
(ce qui déclenche unegit gc
) permettrait de générer une sortie.C'est à cause de la
git gc
partie de lagit fetch
.Pas plus, à partir de git 2.1.1 (Sept 2014): voir s'engager 6fceed3bea59d747c160972c67663e8b8c281229 de Nguyễn Thái Ngọc Duy (
pclouds
)fetch: silence
git-gc
si--quiet
est donnébuiltin/fetch.c
: