This is an old revision of the document!
Table of Contents
Gestion de versions (Hands-on Git)
Dans le cadre des cours de Conception et de Méthodologie de la production d’applications, nous allons utiliser Git.
I. A chacun son projet dans gitlab
Utilisation de Gitlab
- Connectez-vous à https://git-iutinfo.unice.fr/ (Compte de l'université :identifiant= initiale + …)
- Créez un projet (un par binôme au minimum) (bouton vert à droite “new project”) , mettez le projet en public pour l'instant.
- Placez-vous bien dans le répertoire sur votre machine où vous désirez garder un lien avec le dépôt distant.
- Dans le terminal :
git config --global http.sslVerify false
- Exécutez en ligne de commandes et comprenez pas à pas les instructions qui vous sont données sous
détails
pour définir la configuration globale et créer le dépôtet ce faisant répondez aux questions suivantes :
- “git clone …” qu'est-ce qui a été modifié dans votre répertoire (pensez aux fichiers cachés).
- utilisez “git status” avant et après les instructions “git” pour expliquer ce qui change.
- Le fichier Readme.MD peut être modifié directement à partir du site web à présent.Pour mieux comprendre la syntaxe
- N'oubliez pas de
commiter
vos modifications. - Est-ce que le contenu du fichier a été modifié sur votre machine?
- Exécutez la ligne de commande suivante
git pull
et maintenant que contient le fichier README sur votre machine?
OK vous êtes prêts à synchroniser vos fichiers entre votre répertoire local et le dépôt distant.
II. Apprentissage de Git en lignes de commandes
Et l'aide de Open Classroom pour gérer les configurations.
Lignes de commandes
Voir ici pour cette partie : Il faut lire plus loin que le 1.
III. Git au travers d'un outil dédié sourceTree
Utilisation de sourceTree
- download
- installer le .exe
- Il vous faut un compte Bitbucket ou Atlassian mais vous pouvez vous connecter avec un compte google par exemple.
- Désélectionner Mercurial nous ne l'utiliserons pas.
- Clef SSH, vous pouvez dire non.
- Pour vous connecter à gitlab : clone
- Noter que vous pouvez aussi utiliser les “repository” de projets (bouton add) lorsque vous avez plusieurs projets à gérer en parallèle (par exemple, plusieurs projets github, différents dépôts pour l'IUT, différents dépôts pour vos projets personnels ect.)
IV. Utilisation de gitflow
Gérer son projet en suivant l'approche gitflow
Cheat-Sheet
antisèche sur les lignes de commandes
Création/Synchronisation
- Création d’un repo Git local
$ git init myRepo Initialized empty Git repository in /private/tmp/myRepo/.git/
- Cloner un repo Git distant
$git clone <URL du repo Git à cloner>
- Ajouter une cible (ie. Un serveur distant) – cette opération est implicite si le repo a été initialisé avec git init
$ git remote add origin <URL du repo Git>
- Pousser les commits locaux de la branche master sur un serveur distant (origin)
$ git push master origin
- Se synchroniser avec un serveur distant (ie. Récupérer les commits distants)
$ git pull
Commiter des modifications
- Afficher l’état courant du repo local
$ git status
- Versionner un nouveau fichier
$ git add <Fichier à ajouter>
- Commiter un état courant avec un message de commit
$ git commit -m "Premier commit" [master (root-commit) b992814] Premier commit 1 file changed, 5 insertions(+) create mode 100644 Menu.txt
- Afficher l’historique du repo
$ git log
Utiliser des branches
- Créer une branche
$ git checkout -b vegetarien Switched to a new branch 'vegetarien'
- Basculer sur une branche existante
$ git checkout master Switched to branch 'master'
- Supprimer une branche existante
$ git branch –d japonais
- Lister les branches existantes
$ git branch
master
* vegetarien
- Merger (i.e. fusionner) une branche dans la branche courante
$ git merge vegetarien
Les tags
- Créer un tag léger
$ git tag michelin17
- Lister les tags
$ git tag michelin17
- Pousser un tag sur un serveur distant
$ git push origin michelin17 Total 0 (delta 0), reused 0 (delta 0) To https://github.com/ulrich06/TD_Git.git - [new tag] michelin17 -> michelin17
- Pousser tous les tags sur un serveur distant
git push origin --tags
Maintenant Je peux aborder la gestion de projet
Ressources
- Pro Git, Scoot Chacon and Ben Straub https://git-scm.com/book/fr/v1
- Prise en main de Git : http://www-igm.univ-mlv.fr/~dr/XPOSE2008/git/
- Learning Git in 15 minutes : https://try.github.io/levels/1/challenges/1
- A successful git branching model : http://nvie.com/posts/a-successful-git-branching-model/
That’s all folks