117 votes

Historique ou journal des commandes exécutées dans Git

Existe-t-il un moyen de garder la trace des commandes que j'ai utilisées dans Git sous Windows ? Je veux voir toutes les commandes que j'ai appliquées sur mon dépôt.

Je veux pouvoir revenir en arrière dans l'historique des commandes et trouver la commande qui a causé le problème s'il y en a un.

Voir l'historique des commits serait une chose, mais pour garder un historique des autres actions telles que la création d'une branche ou l'ajout d'un remote, sont-elles suivies ?

3 votes

C'est un peu un aparté, mais si vous regardez dans .git/logs vous verrez l'historique du commit sur lequel chaque branche pointe.

1 votes

@Nayuki Depuis push ne modifie pas l'état d'une succursale locale, la reflog apparemment ne stocke pas push es, donc en regardant dans .git/logs/refs/remotes/*/* est le seul moyen de voir votre push l'histoire.

201voto

jweyrich Points 10002

Vous pouvez voir l'historique avec git-reflog ( exemple ici ):

git reflog

22 votes

@PauAI alors que git reflog montrerait toutes les positions que votre HEAD suivait, il ne montrera pas réellement toutes les commandes git. Les commandes git qui ne déplacent pas la tête (par exemple git branch -D my_precious_branch ) n'y apparaîtraient pas.

0 votes

@Yonatan, tu ne pourrais pas l'avoir avec git reflog --all ?

2 votes

@combinatorist essayez d'ajouter une télécommande (comme celle donnée par l'OP par exemple) : git remote add foo bar . il n'apparaîtra pas dans git reflog --all car il ne modifie pas le pointeur HEAD.

76voto

random Points 5411

Un journal de vos commandes peut être disponible dans l'historique de votre shell.

history

Si voir défiler la liste des commandes exécutées n'est pas pour vous, exportez la liste dans un fichier.

history > path/to/file

Vous pouvez restreindre le dump exporté pour qu'il ne montre que les commandes contenant "git" en le pipant avec grep.

history | grep "git " > path/to/file

L'historique peut contenir des lignes formatées comme suit

518  git status -s
519  git commit -am "injects sriracha to all toppings, as required"

En utilisant le numéro, vous pouvez réexécuter la commande avec un point d'exclamation.

$ !518
git status -s

9voto

crmpicco Points 2226

Si vous utilisez CentOS ou une autre version de Linux, faites simplement Ctrl + R à l'invite et tapez git .

Si vous continuez à frapper Ctrl + R ceci fera une recherche inverse dans votre historique pour les commandes qui commencent par git

9voto

ScottyBlades Points 1262

Type history dans votre terminal. Ce n'est pas techniquement git, mais je pense que c'est ce que vous voulez.

6voto

mamboking Points 2463

Si vous utilisez Windows PowerShell, vous pouvez taper "git" et appuyer sur F8. Continuez à appuyer sur F8 pour faire défiler toutes vos commandes git.

Ou, si vous utilisez cygwin, vous pouvez faire la même chose avec ^R.

0 votes

Dans une session normale de Windows, vous pouvez utiliser la touche F7 pour obtenir une petite fenêtre qui vous donne une liste de toutes les commandes saisies dans cette session.

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