26. Git introduction

Nous allons prendre un dépôt relativement simple comme celui se trouvant à l’adresse : https://git.roflcopter.fr/guyotv/TM_latex

Un tel dépôt peut être téléchargé (Bouton download) ou cloné (bouton clone). Téléchargé signifie que vous allez en récupérer tous les fichiers, que vous pourrez les utiliser et les modifier sur votre ordinateur, mais pas interagir avec le dépôt. Par contre, quand vous clonez le dépôt, en plus de récupérer tous les fichiers du dépôts, vous récupérez aussi un répertoire caché nommé « .git » qui va vous permettre de modifier les fichiers du dépôt.

Pour cloner le dépôt, cliquez sur le bouton clone et copiez l’adresse de clonage. Puis, placez-vous dans le répertoire dans lequel vous mettez les dépôts clonés et clonez :

clone https://git.roflcopter.fr/guyotv/TM_latex.git

Quelques instants plus tard se trouvera cloné sur votre ordinateur le répertoire du dépôt. Vous pourrez alors travailler localement sur ses fichiers en toute liberté sans modifier le dépôt.

Une fois les modifications faites, vous pourrez utiliser la suite classique de commandes suivante :

git status
git add .
git commit -m "Voici les modifications que j'ai faites."
git push -u origin master

Cette suite de commandes est à comprendre en s’imaginant qu’il existe trois éléments de travail : les fichiers que vous avez modifiés, un dépôt local et un dépôt distant. Quand vous travaillez sur les fichiers qui sont sur votre ordinateur, vous ne modifiez aucun des deux dépôt local et distant. Ainsi :

  • la commande « git status » va comparer les fichiers qui sont dans votre répertoire local à ceux qui se trouvent dans le dépôt local. S’il n’existe pas de différence, elle vous répondra qu’aucune modifications n’est nécessaire. Par contre, si vous avez modifié les fichiers de votre répertoire local, elle va vous afficher tous ceux qui ne correspondent pas à ceux qui se trouvent dans le dépôt local.
  • la commande « git add . » (attention le point « . » est nécessaire) va vous permettre d’ajouter tous ces fichiers (le point « . » signifie tous) à la liste des fichier à modifier sur le dépôt local. Vous pourriez vouloir ne modifier que quelques uns de ceux-ci sur le dépôt local, auquel cas, il faudra les spécifier à la place du point. Ainsi, les fichiers à modifier seront marqués en tant que tel.
  • la commande « git commit -m « C’est fait. » » vous permet d’envoyer les modifications du répertoire de travail dans le dépôt local avec un message obligatoire décrivant ces changements.

À ce stade, rien n’a été effectué sur le dépôt distant. Mais tous les changements que vous avez réalisés se trouvent en attente sur le dépôt local, c’est-à-dire sur votre ordinateur.

  • la commande « git push -u origin master » vous permet d’envoyer vos changements sur le dépôt distant nommé « master ». Plus précisément, elle vous permet de les envoyer sur la branche « origin » du dépôt « master ». En effet, il peut y avoir plusieurs branches branches du même projet sur lesquelles on peut travailler en parallèle. Pour en savoir plus reportez-vous à l’article https://www.cvgg.org/wordpress/blog/27-git-et-les-branches/. Le « -u » va vous demander de spécifier l’utilisateur et vous demandera son mot de passe.

Voilà. AInsi vous pourrez reporter vos changements (pour autant que vous y soyez autorisés : utilisateur et mot de passe) sur le dépôt distant. Ainsi aussi les autres utilisateurs pourront les récupérer.


Une utilisation intéressante en mode mono-utilisateur est la suivante. Imaginez que vous travailliez comme cela est présenté ci-dessus à la maison. Vous vous rendez ensuite à votre travail et là-bas désirez modifier vos fichiers. Pour cela vous les récupérez en clonant le dépôt, faites vos modifications et les reportez successivement sur le dépôt local (à votre travail) puis sur le dépôt distant. Tout va bien. De retour chez vous, vous voulez synchroniser le dépôt distant qui a été modifié au travail avec les fichiers qui sont sur votre ordinateur à la maison. Une seule commande suffira :

git pull

Et vous verrez avec un grand plaisir que toutes les modifications faites au travail seront reportée dans vos fichiers à la maison.

Voilà. Amusez-vous bien. La puissance de git est simplement stupéfiante.

Laisser un commentaire