40 votes

Comment puis-je obtenir le "statut git" pour toujours utiliser le format court?

J'aimerais que git status utilise toujours le format court:

 $ git status --short
 M src/meck.erl
 M test/meck_tests.erl
?? erl_crash.dump
?? meck_test_module.coverdata
 

Il ne semble pas exister d’option de configuration pour cela, et git config --global alias.status "status --short" ne fonctionne pas. Je n'ai pas réussi à créer et alias dans zsh non plus.

Comment puis-je faire en sorte que git status utilise le format court par défaut.

37voto

VonC Points 414372

Départ git1.8.4 (juillet 2013), vous pouvez configurer git status à utiliser par défaut.
Voir commettre 50e4f757f4adda096239c1ad60499cf606bf2c6f:

Certaines personnes sont toujours exécuter 'git status -s'.
La configuration de la variable status.short permet de le définir par défaut.

Donc:

git config status.short true

Et vous seriez tous ensemble!


Ben Allred ajoute dans les commentaires:

Un test rapide montre qu' git config status.branch true fonctionne aussi bien, pour montrer l'information de la direction générale en collaboration avec le court-format.


Elle a été renversée par un temps:

S'engager 908a0e6b98e5a7c4b299b3643823bdefb4fa512e:

Il est impossible de "git commit" lors de l' status.short est défini, et aussi "git status --porcelain" de sortie est affectée par status.branch.

Mais il est maintenant de retour, toujours pour git 1.8.4 (juillet/août 2013)

Voir commettre f0915cbaf476d63f72c284057680809ed24fbe0d:

s'engager: la faire fonctionner avec status.short

Avec "status.short" set", il est maintenant impossible de s'engager avec l'état.set très court, parce qu'il agit comme "git commit --short", et il est impossible de faire la différence entre un status_format défini par l'option de ligne de commande de l'analyseur par rapport à celle définie par la configuration de l'analyseur.

Pour pallier ce problème, désactivez status_format dès que la configuration a fini son travail.

Signed-off-by: Ramkumar Ramachandra

34voto

William Pursell Points 56211

Utilisez un autre alias. Au lieu d'essayer d'alias 'status', faites:

git config --global alias.s 'status --short'

Maintenant, "git s" vous donne une sortie courte et "git status" vous donne une sortie longue.

7voto

Lucas Points 5723

Le plus simple est d'utiliser un autre alias, comme je le suggère dans mon commentaire. Je pense qu'il n'est pas possible de créer un alias avec le nom d'une commande intégrée. Si vous insistez sur l'utilisation d' git status, une autre option est (git est open source, après tout):

  • obtenir le code source de git (par ex. http://github.com/git/git/)
  • ouvrir le fichier builtin/commit.c
  • recherchez la fonction int cmd_status(int argc, const char **argv, const char *prefix)
  • en bas, vous trouverez un switch-statement
  • commentaire les deux lignes, comme illustré dans le code suivant
  • ajouter la ligne comme dans le code suivant

code:

...
switch (status_format) {
    case STATUS_FORMAT_SHORT:
        wt_shortstatus_print(&s, null_termination);
        break;
    case STATUS_FORMAT_PORCELAIN:
        wt_porcelain_print(&s, null_termination);
        break;
    case STATUS_FORMAT_LONG:
        //s.verbose = verbose;      <--lines have to be commented out
        //wt_status_print(&s);
        wt_shortstatus_print(&s, null_termination);    //<-- line has to be added
        break;
    } 
 ...
  • remake git

0voto

takeshin Points 16579

Vous pouvez créer un alias .

Mais je créerais un script bash:

 #!/bin/bash
git status --short
 

enregistrer ce script en ~/bin/gits (ou /usr/bin/gits et chmod 555 ), de sorte que taper gits donne ce que vous voulez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X