742 votes

Git - aller à la révision particulière

J'ai cloné un dépôt git du projet. Puis-je activer les fichiers à l'état initial, et quand je passe en revue les dossiers de la révision 2, 3, 4 ... plus récent? J'aimerais avoir un aperçu de la façon dont le projet a été en constante évolution.

merci

1119voto

Marcelo Cantos Points 91211

Utiliser git checkout <sha1> à consulter un particulier s'engager.

22voto

Mat Points 104488

Vous pouvez obtenir un affichage graphique de l'historique du projet, avec des outils comme gitk. Il suffit d'exécuter:

gitk --all

Si vous voulez extraire une branche spécifique:

git checkout <branch name>

Pour un commit, utiliser le hash SHA1 au lieu de le nom de la branche. (Voir Treeishes dans le Git Community Book, ce qui est une bonne lecture, pour voir les autres options pour naviguer dans votre arborescence.)

git log a tout un ensemble d'options pour l'affichage détaillé ou sommaire de l'histoire.

Je ne connais pas de moyen facile de se déplacer vers l'avant dans un commit l'histoire. Projets avec une histoire linéaire sont probablement pas toutes les communes. L'idée d'une "révision" comme vous auriez avec SVN ou CVS n'est pas la carte que dans Git.

3voto

J'ai créé une ligne de commande python outil pour voir comment le projet a évolué. vous pourriez voir si cela aide. L'outil est hébergé sur le git à l'adresse suivante

https://github.com/yoganand/git-evolver

1voto

Alex Points 3973

Un autre moyen serait de créer tous les commits jamais fait de patchs. la caisse de l'initiale de s'engager et ensuite appliquer les patchs dans l'ordre après la lecture.

utiliser git format-patch <initial revision> puis git checkout <initial revision>. vous devriez obtenir un tas de fichiers dans votre directeur de départ avec quatre chiffres qui sont les patchs.

lorsque vous avez terminé la lecture de votre révision just do git apply <filename> qui devrait ressembler à git apply 0001-* et nombre.

Mais je me demande vraiment pourquoi vous ne voulez pas seulement à lire les patchs lui-même à la place? Merci de poster dans vos commentaires, car je suis curieux.

le git manuel me donne ceci:

git show next~10:Documentation/README

Montre le contenu du fichier Documentation/README comme ils l'étaient en cours dans le 10ème dernier commit de la branche suivante.

vous pourriez aussi avoir un coup d'oeil à l' git blame filename qui vous donne une liste où chaque ligne est associée à une validation de hachage + auteur.

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