3568 votes

Afficher l'historique des modifications d'un fichier à l'aide de versioning Git

Comment puis-je consulter l'historique des modifications d'un fichier individuel dans Git, complet avec ce qui a changé?

J'ai eu aussi loin que:

git log -- [filename]

qui me montre la validation de l'histoire du fichier, mais comment puis-je obtenir du contenu de chacun des changements?

Je suis en train de faire la transition à partir de MS SourceSafe et utilisé pour être un simple clic-droit → afficher l'historique.

2656voto

VolkA Points 10297

Vous pouvez utiliser

git log -p filename

laisser git générer des taches pour chaque entrée de journal, voir

git help log

pour plus d'options, peut effectivement faire beaucoup de belles choses :) Pour obtenir juste le diff pour un commit, vous pouvez

git show HEAD 

ou de toute autre révision par leur identifiant. Ou de l'utilisation

gitk

pour parcourir les changements visuellement.

2646voto

Claudio Acciaresi Points 9503

Pour cela j'utilise:

gitk [filename]

1711voto

Dan Moulding Points 46866

git log --follow -p file

Cela permettra de montrer à l' ensemble de l' histoire du fichier (y compris de l'histoire au-delà de renomme et avec des diffs pour chaque changement).

En d'autres termes, si le fichier nommé bar était une fois nommé foo, alors git log -p bar (sans l' --follow option) affiche le fichier de l'histoire jusqu'au point où il a été rebaptisé -- il n'affiche pas le fichier de l'histoire, quand il était connu comme l' foo. À l'aide de git log --follow -p bar montrera le fichier de toute l'histoire, y compris toute modification du fichier quand il était connu comme l' foo.

194voto

Falken Points 842

Si vous préférez rester à la base de texte, vous pouvez utiliser tig.

Installation Rapide:

  • apt-get: # apt-get install tig
  • Homebrew (OS X): $ brew install tig

L'utiliser pour afficher l'historique sur un seul fichier: tig [filename]
Ou parcourir détaillée des pensions de l'histoire: tig

Semblable à l' gitk mais à base de texte. Prend en charge les couleurs dans le terminal!

125voto

farktronix Points 901

git whatchanged -p filename est équivalent à git log -p filename dans ce cas.

Vous pouvez aussi voir quand une ligne de code spécifique à l'intérieur d'un fichier a été modifié avec git blame filename. Cela permet d'imprimer un court commettre id, l'auteur, timestamp, et pour terminer la ligne de code pour chaque ligne dans le fichier. Ceci est très utile lorsque vous avez trouvé un bug et vous voulez savoir quand il a été introduit (ou qui en est responsable).

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