Comprendre l'arborescence

Avant de corriger le problème causé par Boris, on va essayer de comprendre ce qu'il s'est passé au cours du projet en utilisant la notion de branche

Question

En utilisant la commande ci-après essayez de comprendre ce qui s'est passé.

Indice

1
git log --pretty=oneline --graph --all

Solution

Historique :

  • un premier commit a été fait sur master  ;

  • 3 branches ont été créées à partir de master  ;

  • Alphonse a fait 2 commit, boris 4 et céline 4 également  ;

  • Alphonse a fusionné avec master, cas particulier, comme master n'a pas de commit, il n'y a pas de commit de merge à faire  ;

  • Boris a fusionné avec master  ;

  • Céline a fusionné avec master  ;

  • 3 commits ont été faits sur master.

Git branch est une commande qui permet de gérer tout ce qui a trait aux branches.

Question

La commande git branch permet de lister les branches. Utilisez la avec l'option -a, puis sans -a. Combien y a-t-il de branche sur le dépôt original ? Combien y a-t-il de branches sur votre dépôt ?

Indice

Consultez la documentation pour voir ce que fait l'option -a.

Indice

remotes/origin correspond aux branches disponibles sur le dépôt origin. C'est le nom que prend par défaut celui depuis lequel vous avez cloné votre dépôt.

Pour vous en convaincre, vous pouvez entrer :

1
git remote -v

Solution

Sur votre machine, git branch -a affiche normalement ceci :

1
* master
2
  remotes/origin/HEAD -> origin/master
3
  remotes/origin/alphonse
4
  remotes/origin/boris
5
  remotes/origin/celine
6
  remotes/origin/master

L'astérisque matérialise la branche sur laquelle est placée HEAD.

On voit qu'il y a 4 branches sur le dépôt originel, que HEAD pointe sur master, et qu'il n'y a qu'une seule branche en local.

Question

Entrez la commande

1
git checkout alphonse

À votre avis que s'est-il passé ?