Git Add a-t-il un commutateur détaillé

104

Je suis en train de déplacer tous mes repo privés et publics vers github. L'une des décisions que j'ai prises est de n'utiliser que la console car cela signifie une plus petite empreinte d'outillage si jamais j'ai besoin de changer de PC, etc.

Je serais un énorme utilisateur d'applications console et étant nouveau dans git, j'ai décidé d'acheter la série Mastering Git de Tekpub car elle vous montre comment intégrer git bash en tant que barre d'outils.

Tout fonctionne correctement à l'exception de la commande add all qui est:

git add .

Cela semble fonctionner mais je n'obtiens aucune indication que cela fonctionne ou non. Existe-t-il un commutateur détaillé (je pense que c'est ainsi qu'il s'appellerait) qui indiquerait quels fichiers ont été suivis après le lancement de la commande?

J'utilise Visual Studio 2010 avec l'installation standard de git (pas d'extensions Git)

deanvmc
la source
(Oui, c'est une vieille question; je l'ai vue parce qu'elle vient d'être éditée.) git add --helpMontre la documentation de la git addcommande, y compris l' --verboseoption.
Keith Thompson
Une nouvelle pensée pour une vieille question - je préfère git add -Aplus git add .je n'ai pas regardé les différences, mais ont constaté que ma commande préféré est plus susceptible d'ajouter tous les fichiers modifiés ou nouveaux.
cptully

Réponses:

134

Pour certaines commandes git, vous pouvez spécifier --verbose,

git 'command' --verbose

ou

git 'command' -v.

Assurez-vous que le commutateur est après la commande git réelle. Sinon, cela ne fonctionnera pas!

Aussi utile:

git 'command' --dry-run 
Sahil Muthoo
la source
5
git 1.7.9 (cygwin) me dit que --verbose est une option inconnue
Roy Truelove
5
@RTruelove: vous utilisez peut-être à la git --verbose addplace degit add --verbose
Bogdan D
30

J'étais en train de déboguer un problème avec git et j'avais besoin d'une sortie très verbeuse pour comprendre ce qui n'allait pas. J'ai fini par définir la GIT_TRACEvariable d'environnement:

export GIT_TRACE=1
git add *.txt

Production:

14:06:05.508517 git.c:415               trace: built-in: git add test.txt test2.txt
14:06:05.544890 git.c:415               trace: built-in: git config --get oh-my-zsh.hide-dirty
Aaron
la source
1
Bingo! Merci beaucoup pour cette variable d'environnement!
Henry Rivera
3
Pour faciliter les choses, vous pouvez faire comme: GIT_TRACE=1 git add *.txttout dans la même ligne.
cristianoms
6

Eh bien, comme (presque) tous les programmes de console pour les systèmes de type Unix, git ne vous dit rien si une commande réussit. Il n'imprime quelque chose que s'il y a quelque chose qui ne va pas.

Cependant, si vous voulez être sûr de ce qui vient de se passer, tapez simplement

git status

et voyez quels changements vont être commis et lesquels non. Je vous suggère de l'utiliser avant chaque commit, juste pour être sûr de ne rien oublier.

Puisque vous semblez nouveau dans git, voici un lien vers un livre en ligne gratuit qui vous présente git. C'est très utile, il écrit sur les bases ainsi que sur les différents workflows bien connus: http://git-scm.com/book

Riccardo T.
la source
D'après l'autre réponse, je vois qu'il y a un moyen de lui faire dire ce qui se passe, mais je vous suggère de vous habituer sans le paramètre -v, le comportement par défaut est plus pratique (et il est plus rapide à taper).
Riccardo T.
//, je n'avais jamais entendu cela auparavant, que les programmes de console pour les systèmes de type UNIX ne vous disent rien si une commande réussit. Maintenant que je l'ai entendu, je suppose que cela aurait dû être évident pour moi.
Nathan Basanese
Ce n'est tout simplement pas vrai! Git m'en dit beaucoup si je l'utilise régulièrement, même si les commandes réussissent. Par exemple, git commitme dit combien de lignes et de fichiers ont changé, si de nouveaux fichiers ont été créés, ou git pushm'informe de la progression de la poussée vers l'amont.
LukeLR
5

Vous pouvez utiliser git add -ipour obtenir une version interactive de git add, bien que ce ne soit pas exactement ce que vous recherchez. La chose la plus simple à faire est, après avoir git addédité, de l'utiliser git statuspour voir ce qui est mis en scène ou non.

L'utilisation git add .n'est pas vraiment recommandée sauf si c'est votre premier commit. Il est généralement préférable de lister explicitement les fichiers que vous souhaitez mettre en scène, afin de ne pas commencer à suivre accidentellement les fichiers indésirables (fichiers temporaires et autres).

Tapis
la source
1
Utilisez simplement .gitconfig pour définir les exceptions, pas besoin de suivre manuellement.
Steve K