Utilisation de Git et GitLab
Contents |
Références
Mémo d'utilisation de Git
Travailler avec Git en local
- Initialisation d'un dépôt :
dans le répertoire existant du logiciel taper :
git init
- Ajouter des fichiers pour suivre leur version :
taper
git add nom-du-fichier
puis
git commit -m 'version initiale du projet'
git add permet d'ajouter (indexer) les fichiers au projets (possible d'ajouter tout avec git add *).
git commit permet d'enregistrer (valider) les modifications (l'option –amend permet d'annuler le commit).
ATTENTION : toujours inspecter les modifications pour savoir si tout est bien indexé en tapant la commande git status.
- Se définir un patron de travail :
renseigner un fichier .gitignore pour éviter d'indexer ou de valider ce qu'on ne veut pas, exemple :
# un commentaire, cette ligne est ignorée # pas de fichier .a *.a # mais suivre lib.a malgré la règle précédente !lib.a # ignorer uniquement le fichier TODO à la racine du projet /TODO # ignorer tous les fichiers dans le répertoire build build/ # ignorer doc/notes.txt, mais pas doc/server/arch.txt doc/*.txt # ignorer tous les fichiers .txt sous le répertoire doc/ doc/**/*.txt
Autres exemples sur [1]. Penser aux fichiers *~ et *.lock.
- Supprimer ou déplacer un fichier :
git rm nom-du-fichier git mv nom-du-fichier
Les fichiers indexés qui feront parties de la prochaine validation :
git diff --staged
- Obtenir des infos sur la version actuelle du projet :
git log
(git log -p -2 permet de voir les différences avec les 2 commits précédents)
- Lister et créer des étiquettes pour les versions stables :
git tag pour lister les étiquettes. git tag -a v1.4.0 -m 'Version 1.4.0' pour ajouter une étiquette au dernier commit.
Rappel – règles pour les étiquettes : vA.B.C avec A=version majeure, B=version mineure, C=correctif On commence la numérotation à 0. On réserve A=0 pour le protoype, A=1 est la première version stable.
Travailler avec un dépôt distant et GitLab
- Création d'un dépôt :
Se rendre sur l'interface Gitlab sur le serveur devspot et créer le dépôt à partir de l'interface graphique.
- Récupérer un dépôt distant en local pour la première fois (clone) :
(exemple avec le projet MiscBox)
git clone http://osur.univ-reunion.fr/outils/devspot/git/gabarrot/miscbox.git MiscBox
Attention : ne pas oublier que le nom du dépôt distant se termine par .git. On peut récupérer l'URL exacte dans la page « Activity » du projet.
- Récupération des branches:
Avec la commande précédente on vient de récupérer la branche principale du projet (master) Pour voir l'ensemble des branches en local:
git branch
... ce qui dans ce cas va donner uniquement
*master
- Récupérer et fusionner la branche principale (master) du dépôt distant avec celle créée localement lors d'un clonage :
git pull
- Pousser la branche master locale vers le serveur depuis lequel vous avez cloné le dépôt (origin) :
git push origin master
ou sinon plus générique
git push [nom-distant] [nom-de-branche-locale]
Attention : si quelqu'un a poussé entre temps on aura un message de rejet, on doit d'abord tirer les modifications de la personne précédente, les fusionner avec les votres et pousser.
Pour les utilisateurs Windows
- Ajouter sa clé SSH à GitLab:
Utiliser l'outil puttyGen pour générer une paire de clés privées/publiques. Si vous avez déjà une paire de clés, l'ouvrir via puttyGen et récupérer la clé publique (car ATTENTION : copié/collé depuis le bloc-note ne fonctionne pas).
- Installation de TortoiseGit:
Ajoute les commandes GIT, de manière graphique, dans l'environnement de l'explorer de Windows. Suivre les indications d'installation du programme.
- Installation de "Git for windows":
Lors de l'installation, 2 options peuvent être utiles. La première (ci-dessous) rend les commandes UNIX et Git utilisables depuis ms-dos.
La deuxième option utile est de convertir les caractères « retour à la ligne » de windows en système UNIX :
- Utilisation de TortoiseGit:
- Cloner un repository:
Dans un explorer:
Récupérer l'URL du projet à cloner depuis le serveur web GIT :
- Ajouter/commit des fichiers:
Lors du premier commit, ouvrir une commande ms-dos. Se placer dans le répertoire contenant le dossir « .git » correspondant au projet. Taper la commande suivante : git push -u origin master Exemple :
D:\git\e-obs>git push -u origin master Username for 'http://10.82.61.11': rdecoupe Password for 'http://rdecoupe@10.82.61.11': Counting objects: 8, done. Delta compression using up to 8 threads. Compressing objects: 100% (6/6), done. Writing objects: 100% (8/8), 54.60 KiB | 0 bytes/s, done. Total 8 (delta 0), reused 0 (delta 0) To http://10.82.61.11/promise/e-obs.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
Dans l'explorateur windows, clique-droit sur le dossier contenant les fichiers à ajouter/commit :