====== git : créer un premier projet (dépôt) ======
===== Lancer la console Git =====
* Lance le Shell de Git (Git bash) :
{{ :icn:facultatif:git_01.png?nolink |}}
* tu obtiens la fenêtre suivante :
{{ :icn:facultatif:git_06.png |}}
===== Configuration de base de Git =====
La configuration de base consiste à préciser :
* ton **nom d'utilisateur**,
* ton **adresse de courriel** qui doit être la même que celle qui te permet de d'identifier sur le site Github,
* l’**activation des couleurs** lors de l’affichage des informations du dépôt.
Les configurations de git sont soit **globales**, soit **propres à chaque dépôt**. En pratique, si une valeur de paramètre n’est pas trouvée au sein du dépôt, git va regarder la configuration globale.
Voici les paramètres minimum à préciser :
git config --global user.name "Votre nom"
git config --global user.email "adresse@email.com"
===== Créer un premier dépôt local vide =====
* positionne-toi dans le dossier où tu enregistres tes programmes python :
{{ :icn:facultatif:git_07.png |}}
* autre solution : depuis l'explorateur, clique-droit sur le dossier ou tu souhaites créer ton dépôt et choisis le shell bash (Git Bash):
{{ :icn:facultatif:git_08.png |}}
* lance la commande de **création d'un dépôt local** :
$ git init projet
{{ :icn:facultatif:git_04.png |}}
Ton dépôt local est créé. En effet le dossier **projet** a été créé mais également un **dossier caché .git** qu'il ne faut pas supprimer ni modifier car il permet à Git de gérer ton projet.
===== Première gestion du dépôt =====
* entre dans le dossier de ton dépôt local
$ cd projet
{{ :icn:facultatif:git_05.png |}}
* lance **Spyder** et crée ton programme Python en l'enregistrant dans ce **dossier projet**. Comme exemple, c'est le fichier lancerdes.py qui a été créé.
* reviens sur la console de Git. La commande **ls** permet de visualiser le nouveau fichier :
{{ :icn:facultatif:git_10.png |}}
Le fichier qui qui vient d'être créé dans ton dossier **Projet** n'est pas encore pris en compte par Git comme faisant partie du dépôt du projet. Il est pour considéré comme un** fichier de travail** et non comme le fichier définitif à mettre dans le dépôt du projet.
==== Vérification de l'état des fichiers ====
* lance la commande **git status** :
{{ :icn:facultatif:git_11.png |}}
Le fichier que tu viens d'ajouter est **listé en rouge** comme étant **Untracked files** (Fichiers non suivis). Cela signifie que le fichier que tu viens d'ajouter dans le dossier **projet** n'est pas encore en suivi de version par Git.
* pour **activer le suivi de version** et indexer le fichier, tape la commande **git add lancerdes.py** puis la commande **git status** :
{{ :icn:facultatif:git_12.png |}}
Le nom du fichier est maintenant affiché en vert ce qui signifie qu'il est maintenant **suivi et indexé par Git**.
Un fichier indexé apparaît dans la section **Changes to be committed**. Cela signifie qu'il est **prêt à être validé**, c'est à dire prêt à mettre mis dans le dépôt comme version définitive.
* Modifie le contenu du fichier et relance la commande **git status** :
{{ :icn:facultatif:git_13.png |}}
Git a détecté que le fichier a été modifié :
* il apparaît dans la section **Changes not staged for commit**,
* ton fichier est cependant toujours présent dans la section **Changes to be committed**.
Quand un fichier apparaît à la fois dans la section **Changes to be committed** et dans la section **Changes not staged for commit** cela signifie que tu peux valider la version qui est indexée, mais pas la dernière mise jour.
Pour **indexer la dernière mise à jour** du fichier et donc pourvoir valider la toute dernière version de ton fichier, tape la commande **git add lancerdes.py** :
{{ :icn:facultatif:git_12.png |}}
* pour valider les fichiers indexés, tape la commande suivant en mettant un commentaire **git commit -m 'commentaires'* :
{{ :icn:facultatif:git_14.png |}}
Et il n'y a plus de fichier indexé à valider :
{{ :icn:facultatif:git_15.png |}}
Lien : http://defeo.lu/in202/
==== Retour à l'activité : utiliser git, logiciel de gestion de versions ====
* [[.:a_git|Cours : utiliser git, logiciel de contrôle de version]]