Avec git, comment puis-je revenir au premier commit, puis parcourir l'historique?


6

J'ai cloné un projet de Github et je souhaite maintenant revenir au premier commit, comment pourrais-je le faire? De plus, une fois que je suis revenu au premier commit, comment aller au second commit, puis du deuxième au troisième et ainsi de suite.


1
Dupliquer au débordement de pile: Git, Revenir à un commit par SHA hash?
Bobby

@Bobby: En un sens, c'est dupe, mais l'application spécifique de cette révision chronologique de chaque révision est un peu différente. Pas beaucoup, cependant.
Daniel Andersson

@ DanielAndersson: Pas vraiment, du moins pas à mon avis. "Extraire une révision spécifique" n'est pas autant différent de "Extraire une révision spécifique et ensuite extraire la prochaine révision". Bien que, sachant à propos de git log aiderait ici.
Bobby

pourquoi voudriez-vous faire cela?, pouvez-vous expliquer ce que vous essayez de faire, plutôt que ce que vous voulez faire?
KurzedMetal

Réponses:


7

Vous pouvez vérifier n'importe quelle révision en donnant son identifiant SHA1:

git checkout <SHA1>

Un script d'aide appelé git-walk a été fait pour cela. Même si vous n'utilisez pas le script explicite, examinez le code (très simple) pour voir ce qui est fait.


0

pour tous les fichiers, essayez

git show HEAD 

pour un fichier particulier, essayez

git log -p filename

0

Adapté de la réponse à Quel est le contraire de git diff HEAD^? :

Premièrement, pour vous simplifier la vie plus tard, vous pouvez configurer un alias local pour trouver le commit initial et l'enfant d'un commit particulier. (Remarque: ce n’est pas toujours possible à cause de la façon dont un DAG travaux)

git config --local alias.first-sha "!git rev-list --all        | tail -n 1"
git config --local alias.child-sha "!git rev-list HEAD..master | tail -n 1"

Ensuite, vous pouvez extraire la validation initiale et parcourir le code en vérifiant chaque enfant:

git checkout $(git first-sha)
git checkout $(git child-sha)

Si vous êtes nouveau sur Git, je vous suggère de lire un article que j'ai écrit sur Traverser les commits qui détaille plus sur chacune des commandes utilisées

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.