tete du loic

 Loïc YON [KIUX]

  • Enseignant-chercheur
  • Référent Formation Continue
  • Responsable des contrats pros ingénieur
  • Référent entrepreneuriat
  • Responsable de la filière F2 ingénieur
  • Secouriste Sauveteur du Travail
mail
loic.yon@isima.fr
phone
(+33 / 0) 4 73 40 50 42
location_on
Institut d'informatique ISIMA
  • twitter
  • linkedin
  • viadeo

[GIT] Guide orienté TP

 Cette page commence à dater. Son contenu n'est peut-être plus à jour. Contactez-moi si c'est le cas!

Date de première publication : 2018/10/16

Cette page est en cours d'écriture

Cette page est dédiée à l'utilisation de l'outil git dans le cadre des TPs pour apprendre à utiliser cet outil. En aucun cas, cette page ne cherche à se substituer à la page officielle qui est bien plus complète.

Des commandes de base en ligne de commande sont présentées mais regardez bien si votre outil de développement ne prend pas déjà en charge les commandes git ou alors avec des outils graphiques spécialisés comme gitkraken : CLion, Eclipse, IntelliJ, Netbeans, Visual Studio Code

Il exite un plugin pour geany :-)

Principe de base

git est un gestionnaire de versions. Cet outil permet de garder une trace de toutes les versions d'un logiciel en développement (l'outil n'est pas adapté au format binaire)

Le logiciel (avec ses versions) est stocké dans un dépôt (repository) local et/ou distant. Le projet est disponible dans le répertoire de travail (working directory. Si un fichier est modifié, pour qu'il fasse partie de la prochaine version, il faut le marquer et le placer dans une zone d'attente dite staging area par une opération d'ajout add. Les fichiers en attente participent à la prochaine version par une opération de commit

git status
git add fichier_modifie
git commit -m "message clair"

Si nécessaire, on peut revenir à une version plus ancienne du logiciel, gérer des développements en parallèle (branche), fusionner des branches ... On peut presque tout faire !

Un seul impératif : il ne faut pas effacer le dépot (un simple répertoire sur la machine locale comme .git!)

Configuration du compte

Pour configurer un compte git, c'est très facile à faire au niveau de son compte utilisateur sur une machine :

git config --global user.name  "Prenom  NOM"
git config --global user.email "prenom.nom@etu.isima.fr"

On peut régler cette identification au niveau de la machine ou par projet/répertoire.

Création d'un projet sous gitlab

Il faut se connecter sur le gitlab.isima.fr ou sur gitlab.com

Créer un nouveau projet en cliquant sur le bouton

Remplir quelques champs...

... créer le projet

Récupération d'un répertoire pour l'associer à notre projet

Nous allons récupérer un squelette de TP (TP4C - HallofFame) pour le transférer vers votre propre projet gitlab.

Vous devez avoir au préalable :

git clone https://gitlab.com/kiux/C4.git

Il y a maintenant un répertoire caché .git qui prouve que le répertoire courant est un dépôt gitlab

Il faut associer le répertoire courant à votre dépôt gitlab :

cd projet
git remote rename origin old-origin
git remote add origin git@gitlab.isima.fr:votrelogin/leprojet.git
git push -u origin --all
git push -u origin --tags

Le projet vous appartient et toute mise à jour sera faite désormais sur votre dépôt git.

Gestion des mises à jour dépôt

Comme déjà mentionné pour mettre à jour le dépôt local, c'est facile : il suffit d'ajouter à la zone d'attente le ou les fichiers modifiés puis de faire un commit

git add fichier_modifie
git commit -m "message clair"

Si l'on ne se rappelle plus dans quel "état" sont les fichiers, il suffit de faire

git status

Si vous voulez sauvegarder votre dépôt local dans le dépôt distant, il suffit de "pousser" :

git push

Bien entendu, vous pouvez tout à fait arrêter de suivre des fichiers avec un

git rm fichier

Il est également possible d'ignorer des fichiers ou des répertoires en définissant un fichier texte .gitignore.

Gestion de la zone d'attente

La commande suivante permet (entre autres) de lister les fichiers en zone d'attente et ceux dans le répertoire de travai :

git ls-files

Pour enlever un fichier qui aurait été mis par erreur dans la zone d'attente :

git reset fichier

Pour comparer un fichier du répertoire de travail à version en zone d'attente :

git diff fichier

Gestion des versions et historique

Retour en arrière d'un fichier

Si vous voulez revenir à

Création et gestion d'une branche