Comme beaucoup, j'ai utilisé git pendant des années sans utiliser l'index. C'est alors qu'un collègue se met à git et me parle de l'index… pas clair!

Et le hasard faisant bien les choses, arrive un cours Git avancé de Matthieu Moy, dont la page 21 reprend ce graphe très clair d'Oliver Steele dans sa page My Git Workflow:

 

Git Data Transport Commands d'Oliver Steele

L'exemple que je trouve parlant est le développement d'une fonctionnalité… qui nécessite un petit refactoring… et on trouve un petit bug lors de ces modifs.

Grace à l'index, on va pouvoir faire trois commit indépendants et donc clairs.

Pour aller plus loin, on peut utiliser la commande :

 git add -p

qui va nous demander ce que l'on veut indexer

 Aure exemple (un des premiers que j'ai réalisé): j'ai commencé des modifs de code et quelques jours suivants, je modifie le shéma (MCD) de la base, un fichier .dia.

git add doc/mon_fichier.dia
git ci
    ajout des tables pour début de migration
 
    commentaire complet pour mon ci
git pso

Seul mon_fichier.dia est commpté, le code modifié ne l'est pas.