lab 12 Obtenir de vieille versions

Buts

Retourner dans l’historique est très facile. La commande checkout va copier n’importe quel état depuis le dépôt vers le répertoire de travail.

Obtenir les hashs pour les précédentes versions 01

Execute:

git hist

Note: Vous vous rappelez avoir défini hist dans votre fichier .gitconfig, n’est ce pas? Si ce n’est pas le cas, revoyez le tutoriel sur les alias.

Output:

$ git hist
* a9c6007 2014-02-21 | Ajout d'un commentaire (HEAD, master) [Jim Weirich]
* 221243e 2014-02-21 | Ajouter une valeur par défaut [Jim Weirich]
* 80fc666 2014-02-21 | Using ARGV [Jim Weirich]
* 834ca4f 2014-02-21 | Mon premier commit [Jim Weirich]

Examiner la sortie du log et trouver le hash pour le premier commit. Cela doit être la dernière ligne de la sortie de git hist. Utiliser le code hash (les 7 premiers caractères sont suffisants) dans la commande ci-dessous. Ensuite, vérifier le contenu du fichier bonjour.rb.

Execute:

git checkout <hash>
cat bonjour.rb

Note: Les commandes données ici sont des commandes Unix et fonctionnent à la fois sous Mac et Linux. Malheureusement, les utilisateurs Windows devront traduire pour leur ligne de commande propre (DOS).

Note: De nombreuses commandes dépendent des valeurs de hash dans le dépôt. Comme vos valeurs de hash vont changer des miennes, chaque fois que vous voyez quelque chose comme <hash> ou <treehash> dans la commande, remplacer la valeur par votre propre valeur de dépôt.

Vous devriez voir …

Output:

$ git checkout 834ca4f
Note: checking out '834ca4f'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 834ca4f... Mon premier commit
$ cat bonjour.rb
puts "Bonjour, Monde"

La sortie de la commande checkout explique la situation de manière assez claire. Les vieilles versions de git vont se plaindre de ne pas être sur une branche locale. Dans tous les cas, ne vous en inquiétez pas maintenant.

Noter que les contenus du fichier bonjour.rb sont les contenus originaux.

Retourner la dernière version de la branche master 02

Execute:

git checkout master
cat bonjour.rb

Vous devriez voir …

Output:

$ git checkout master
Previous HEAD position was 834ca4f... Mon premier commit
Switched to branch 'master'
$ cat bonjour.rb
# Default is "Monde"
name = ARGV.first || "Monde"

puts "Bonjour, #{name}!"

‘master’ est le nom de la branche par défaut. En faisant un “checkout” sur une branche, vous avez la dernière version de cette branche.

Table des matières