2A.soft - Git depuis le notebook

Git est un logiciel de suivi de source décentralisé qui permet de travailler à plusieurs sur les mêmes fichiers. Aujourd'hui, on ne crée plus de logiciels sans ce type d'outil qui permet de garder l'historique des modifications apportées à un programme. Git a supplanté tous les autres logiciels du même type.

On vérifie qu'il fonctionne :

Si cela ne fonctionne pas, cela signifie que soit git n'est pas installé, soit le notebook ne trouve pas le chemin où il est installé. Dans le premier cas, il suffit de l'installer puis de relancer le serveur de notebook pour prendre en compte les modifications. Dans le second cas, on peut s'en tirer avec une astuce du style :

Dans son utilisation la plus simple, git permet de synchroniser un ensemble de fichiers entre plusieurs ordinateurs et utilisateurs :

Par la suite, il faudra remplacer SERVEURGIT par le nom du serveur git (le serveur de l'école, github, bitbucket, ...).

Création d'un répertoire

On crée un projet afin de pouvoir y ajouter des fichiers et de suivre leur modifications. Cette opération ne devra être réalisé qu'une seule fois. On crée ce projet dans le répertoire : c:\temp\premier_projet. On crée ce répertoire puis on change le répertoire courant pour celui-ci :

On initialise le répertoire :

Premiers fichiers

On ajoute un premier fichier README.md :

On copie ce notebook également :

Git est beaucoup plus facile à utiliser si on se place dans le repértoire du projet :

Il faut préciser à git les fichiers qu'on souhaite ajouter où dont on souhaite enregister les modifications :

On enregistre ces modifications avec un commentaire :

Ces modifications n'ont d'incidence que sur la copie en locale et n'ont pas encore été propagées jusqu'au serveur. On le fait en exécutant les deux instructions suivantes. La première précise dans quel répertoire du serveur git on souhaite ajouter les modifications. Il suffit en principe de ne le faire qu'une fois.

Si vous vous êtes trompé, vous pouvez revenir en arrière avec :

La seconde propage les modifications :

Si vous avez l'erreur précédente, c'est parce que le répertoire du projet n'a pas été créé sur le serveur git. Je vous conseille de le faire directement sur le serveur lui-même (petit icône + en haut à droite sur un serveur GitLab) :

On recommence, de préférence dans la fenêtre de ligne de commande car sinon il faudra taper le mot de passe depuis la fenêtre du serveur de notebook et ce n'est pas toujours évident de ne pas se tromper.

Les fichiers devrait être sur le serveur. Pour enregistrer d'autres modifications faite dans le répertoire local, il suffit de recommencer à partir de l'instruction git add.

Cloner un répertoire

Pour récupérer les fichiers chez soi. Il faut cloner le répertoire, par exemple dans un autre répertoire local.

Puis taper la commande dans ce répertoire (de préférence depuis la ligne de commande s'il y a besoin de s'authentifier).

Pour apporter les modifications sur le serveur git, il faut retourner aux instructions git add vues précédemment.

Mettre à jour un répertoire local

Lorqu'on met à jour le serveur distant git depuis une copie locale, il est préférable de mettre à jour les autres copies locales avant de pouvoir les modifier. Il vaut mieux exécuter la commande depuis une ligne de commande s'il faut s'authentifier.

Branches

Le scénario classique pour travailler à plusieurs. On suppose qu'il existe un repository remote appelé origin. C'est le cas le plus classique quand on clone un répertoire de sources.

Si la branche master est mise à jour pendant que vous travaillez à la vôtre, git pull origin master rappatriera les modifications.

Pour aller plus loin

On peut faire beaucoup de choses avec git comme créer des branches, des tags, revenir à en arrière... La documentation sur git est assez pléthorique sur internet tutoriels sur git et il existe des client git. TortoiseGit est l'un des plus simples. Ces outils permettent de se servir de git sans ligne de commande, juste avec la souris et l'exporateur de fichiers.