AnneCadiou - Claude Bernard University Lyon...
Transcript of AnneCadiou - Claude Bernard University Lyon...
![Page 1: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/1.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Introduction à Git
Anne Cadiou
Laboratoire de Mécanique des Fluides et d’Acoustique
Informatique scientifique pour le calculÉcole doctorale
2016-2017
1 / 70
![Page 2: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/2.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Table des matières
1 Contexte
2 Systèmes de gestion de versions
3 Git
4 Exemple local
5 Exemple collaboratif
6 Outils, forges, serveurs et services web
2 / 70
![Page 3: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/3.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Table des matières
1 Contexte
2 Systèmes de gestion de versions
3 Git
4 Exemple local
5 Exemple collaboratif
6 Outils, forges, serveurs et services web
3 / 70
![Page 4: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/4.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Méthodologie
Mise en place de bonnes pratiques pour le développement
Adopter une méthodologie d’intégration continueVise à l’automatisation des tâches (compilation, tests unitaires etfonctionnels, tests de performances, validation, documentation ...)
Adopter une méthodologie agile(d’après Wikipédia)
• les individus et leurs interactions, plus que les processus et les outils• des logiciels opérationnels, plus qu’une documentation exhaustive• la collaboration avec les clients, plus que la négociation contractuelle• l’adaptation au changement, plus que le suivi d’un plan
4 / 70
![Page 5: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/5.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
... et outils
En pratique
• Code partagé et versionné• Modifications fréquentes, testées automatiquement• Souplesse dans les développements• Version fonctionnelle toujours disponible(tests, documentation, démonstration ou production)
Nécessite l’utilisation d’un minimum d’outils de génie logiciel
5 / 70
![Page 6: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/6.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Table des matières
1 Contexte
2 Systèmes de gestion de versions
3 Git
4 Exemple local
5 Exemple collaboratif
6 Outils, forges, serveurs et services web
6 / 70
![Page 7: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/7.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
À quoi ça sert ?
Systèmes de gestion de version (en anglais Version System Control)
Sert à :
• enregistrer et sauvegarder les développements au cours du temps• revenir en arrière sur une version spécifique• collaborer sur un même document• enregistrer les modifications avec auteur et date
7 / 70
![Page 8: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/8.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Historique des principaux opensources (1/2)
• Système local• RCS (Revision Control System)les développeurs partagent le même système de fichiers
• Système client-serveur• CVS (Concurrent Versions System)dérivé de RCS, les développeurs partagent un dépôt unique
• Subversion (SVN)dérivé de CVS, fusions facilitées
8 / 70
![Page 9: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/9.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Historique des principaux opensources (2/2)Distributed Verson Control System (DVCS)
• Système décentralisé• Gitconçu par Linus Torvalds pour le projet du noyau Linux en 2005
• Mercurialen Python, évolution depuis 2005 de l’opensource de BitKeeper,anciennement utilisé pour le développement du noyau Linux(2002-2005)
• Bazaaren Python, depuis 2005
• Fossillen C, depuis 2006
• Veracitydepuis 2011intègre le suivi des bug et les outils de développement agilepas de rebase
9 / 70
![Page 10: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/10.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Modes de travail (1/3)
Projet local
fichier Révision 3
Révision 2
Révision 1
Généralement facile d’utilisation, léger à configurerCollaboration pas vraiment prévue
10 / 70
![Page 11: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/11.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Modes de travail (2/3)Projet centralisé
fichier
Machine A
fichier
Machine B
Révision 3
Révision 2
Révision 1
Serveur
Partage d’une archive sur un serveur uniqueAccès distant au serveurNécessite une connection internet
11 / 70
![Page 12: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/12.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Modes de travail (3/3)Projet distribué
fichier
Révision 3
Révision 2
Révision 1
Machine A
fichier
Révision 3
Révision 2
Révision 1
Machine B
Révision 3
Révision 2
Révision 1
Chacun travaille sur un clone du dépôt, gère des dépôts public/privéPermet de collaborer de différentes manières avec différentes personnessur un même projetPas besoin d’accès internet
12 / 70
![Page 13: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/13.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Modes d’organisation (1/3)
Organisation centralisée
Dépôt partagé
Développeur Développeur Développeur
Chacun échange avec le dépôt de référence.Les développeurs doivent mettre à jour leurs clonesavant de modifier le dépôt.
13 / 70
![Page 14: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/14.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Modes d’organisation (2/3)
Organisation via un intégrateur
Dépôtde
réference
Développeurpublique
Développeurpublique
Intégrateur Développeurprivé
Développeurprivé
Chacun travaille avec un clone du dépôt de référence.Chacun dépose ses développements dans un dépôt privé.Chacun demande à l’intégrateur de déposer dans la référence.
14 / 70
![Page 15: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/15.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Modes d’organisation (3/3)
Organisation en sous-projet
Dépôtde
réference
Dépôtprojet
Dépôtprojet
Intégrateur Dév. Dév. Dév. Dév.
Adapté à des gros projets, avec sous-parties de développement.
15 / 70
![Page 16: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/16.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Table des matières
1 Contexte
2 Systèmes de gestion de versions
3 Git
4 Exemple local
5 Exemple collaboratif
6 Outils, forges, serveurs et services web
16 / 70
![Page 17: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/17.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Apprendre git
https://www.atlassian.com/git/tutorials/http://rogerdudler.github.io/git-guide/index.fr.html
http://www.le-fab-lab.com/memo-git.htmlhttp://www.le-fab-lab.com/git-travail-en-local.htmlhttp://www.le-fab-lab.com/git-depot-distant.html
https://git-scm.com/
17 / 70
![Page 18: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/18.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Limitations
Ce que Git gère très bien :3 les scripts ou code de calcul3 les documents LATEX3 les fichiers texte
(configuration, scripts etc.)3 les sources html
Ce que Git gère mal :7 les gros fichiers binaires7 le texte formaté (documents de
type Microsoft Office,OpenOffice etc.)
7 les bases de données (typeMySQL)
18 / 70
![Page 19: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/19.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Contournements et solutions possiblesSolutions pour gérer les gros fichiers binaires :
• git-annex• git-fat, git-lfs• git-bigfile• git-bigstore• git-sym• etc.
Gestion des fichiers binaires de type Microsoft Office, PDF etc. :3 versionner les fichiers et combiner avec un outil exhibant les
différences comme Word Diff, Pandoc etc.Gestion des bases de données MySQL :3 versionner la sortie de mysql dump
⇒ Combiner les outils
19 / 70
![Page 20: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/20.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Principales commandes
Commandes de base
$ git status ; git log; git diff$ git add; git commit
Commandes de branches
$ git branch$ git checkout$ git merge
Commandes de partage
$ git push$ git fetch$ git pull
20 / 70
![Page 21: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/21.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Configurer git
$ git config --global user.name "Anne Cadiou "$ git config --global user. email "anne.cadiou@ec -lyon.fr"
$ git config --global core. editor vim$ git config --global diff. external vimdiff$ git config --global color .ui true$ git config --global merge .tool vimdiff...$ git config --list
Stocké dans$ ls ~/. gitconfig
21 / 70
![Page 22: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/22.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Exemple de configuration
[user]name = Anne Cadiouemail = anne.cadiou@ec -lyon.fr
[core]editor = vim
[ color ]ui = true
[ merge ]tool = vimdiff
[ alias ]lg = log --pretty = format :\"%h%x09%an%x09%ad%x09%s\"
22 / 70
![Page 23: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/23.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Principe de base
Cycle de vie d’un fichier
répertoire de travail
non suivi à jour modifié
zone d’index
ajouter
retireréditer indexer
git
extraction
indexation
enregistrement
23 / 70
![Page 24: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/24.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Table des matières
1 Contexte
2 Systèmes de gestion de versions
3 Git
4 Exemple local
5 Exemple collaboratif
6 Outils, forges, serveurs et services web
24 / 70
![Page 25: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/25.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Projet de développement local
Répertoire du projet
cadiou@local :~$ cd democadiou@local :~/ demo$ lslogocalcul .png projet .tex
Initialiser le dépôt
cadiou@local :~/ demo$ git init
Initialized empty Git repository in/home/ cadiou /demo /. git/
25 / 70
![Page 26: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/26.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Projet de développement local
Répertoire du projet
cadiou@local :~$ cd democadiou@local :~/ demo$ lslogocalcul .png projet .tex
Initialiser le dépôt
cadiou@local :~/ demo$ git init
Initialized empty Git repository in/home/ cadiou /demo /. git/
25 / 70
![Page 27: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/27.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure locale
cadiou@moon : [ master ] ~/ demo$ ls -a
. .. bib.bib .git logocalcul .png projet .tex README .txt
cadiou@moon : [ master ] ~/ demo$ cat .git/ config
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true
26 / 70
![Page 28: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/28.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure locale
cadiou@moon : [ master ] ~/ demo$ ls -a
. .. bib.bib .git logocalcul .png projet .tex README .txt
cadiou@moon : [ master ] ~/ demo$ cat .git/ config
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true
26 / 70
![Page 29: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/29.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure locale
cadiou@moon : [ master ] ~/ demo$ ls -a
. .. bib.bib .git logocalcul .png projet .tex README .txt
cadiou@moon : [ master ] ~/ demo$ cat .git/ config
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true
26 / 70
![Page 30: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/30.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Exclure des fichiers
cadiou@moon : [ master ] ~/ demo$ vi . gitignore
.*. swp*. out*. log*. vrb*. nav*. aux*. toc*. blg
27 / 70
![Page 31: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/31.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Exclure des fichiers
cadiou@moon : [ master ] ~/ demo$ vi . gitignore
.*. swp*. out*. log*. vrb*. nav*. aux*. toc*. blg
27 / 70
![Page 32: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/32.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
État du projet
cadiou@local :~/ demo$ git status
On branch master
Initial commit
Untracked files :(use "git add <file >..." to include in what will be
committed )
logocalcul .pngprojet .tex
nothing added to commit but untracked files present (use "git add" to track )
28 / 70
![Page 33: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/33.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
État du projet
cadiou@local :~/ demo$ git status
On branch master
Initial commit
Untracked files :(use "git add <file >..." to include in what will be
committed )
logocalcul .pngprojet .tex
nothing added to commit but untracked files present (use "git add" to track )
28 / 70
![Page 34: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/34.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Modification du projet
Ajout des fichiers dans la liste des fichiers à suivre
cadiou@local :~/ demo$ git add --allcadiou@local :~/ demo$ git status
On branch master
Initial commit
Changes to be committed :(use "git rm --cached <file >..." to unstage )
new file: logocalcul .pngnew file: projet .tex
29 / 70
![Page 35: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/35.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Modification du projet
Ajout des fichiers dans la liste des fichiers à suivre
cadiou@local :~/ demo$ git add --allcadiou@local :~/ demo$ git status
On branch master
Initial commit
Changes to be committed :(use "git rm --cached <file >..." to unstage )
new file: logocalcul .pngnew file: projet .tex
29 / 70
![Page 36: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/36.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Révision les fichiersConfier une révision au dépôt
cadiou@local :~/ demo$ git commit -m " dépôt initial "
[ master (root - commit ) 35 dbd34 ] dépôt initial2 files changed , 0 insertions (+) , 0 deletions (-)create mode 100644 logocalcul .pngcreate mode 100644 projet .tex
Consulter le journal de bord
cadiou@local :~/ demo$ git log
commit 35 dbd347c4264548fe2140bc36a49d5b08416fc9Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 15:18:41 2016 +0100
dépôt initial
30 / 70
![Page 37: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/37.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Révision les fichiersConfier une révision au dépôt
cadiou@local :~/ demo$ git commit -m " dépôt initial "
[ master (root - commit ) 35 dbd34 ] dépôt initial2 files changed , 0 insertions (+) , 0 deletions (-)create mode 100644 logocalcul .pngcreate mode 100644 projet .tex
Consulter le journal de bord
cadiou@local :~/ demo$ git log
commit 35 dbd347c4264548fe2140bc36a49d5b08416fc9Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 15:18:41 2016 +0100
dépôt initial
30 / 70
![Page 38: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/38.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Révision les fichiersConfier une révision au dépôt
cadiou@local :~/ demo$ git commit -m " dépôt initial "
[ master (root - commit ) 35 dbd34 ] dépôt initial2 files changed , 0 insertions (+) , 0 deletions (-)create mode 100644 logocalcul .pngcreate mode 100644 projet .tex
Consulter le journal de bord
cadiou@local :~/ demo$ git log
commit 35 dbd347c4264548fe2140bc36a49d5b08416fc9Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 15:18:41 2016 +0100
dépôt initial
30 / 70
![Page 39: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/39.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
État du suivi
cadiou@local :~/ demo$ git status
On branch masternothing to commit , working directory clean
Après modification d’un fichier
On branch masterChanges not staged for commit :
(use "git add <file >..." to update what will be committed )(use "git checkout -- <file >..." to discard changes in
working directory )
modified : projet .tex
no changes added to commit (use "git add" and/or "git commit-a")
31 / 70
![Page 40: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/40.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
État du suivi
cadiou@local :~/ demo$ git status
On branch masternothing to commit , working directory clean
Après modification d’un fichier
On branch masterChanges not staged for commit :
(use "git add <file >..." to update what will be committed )(use "git checkout -- <file >..." to discard changes in
working directory )
modified : projet .tex
no changes added to commit (use "git add" and/or "git commit-a")
31 / 70
![Page 41: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/41.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
État du suivi
cadiou@local :~/ demo$ git status
On branch masternothing to commit , working directory clean
Après modification d’un fichier
On branch masterChanges not staged for commit :
(use "git add <file >..." to update what will be committed )(use "git checkout -- <file >..." to discard changes in
working directory )
modified : projet .tex
no changes added to commit (use "git add" and/or "git commit-a")
31 / 70
![Page 42: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/42.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Enregistrement des modifications
cadiou@local :~/ demo$ git commit -m " ajout texte " projet .tex
[ master 9002 ccb] ajout texte1 file changed , 2 insertions (+)
cadiou@local :~/ demo$ git log
commit 9002 ccbab0a0cca2941cec9ee3182defe787a4b7Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 17:38:04 2016 +0100
ajout texte
commit 35 dbd347c4264548fe2140bc36a49d5b08416fc9Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 15:18:41 2016 +0100
dépôt initial
32 / 70
![Page 43: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/43.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Enregistrement des modifications
cadiou@local :~/ demo$ git commit -m " ajout texte " projet .tex
[ master 9002 ccb] ajout texte1 file changed , 2 insertions (+)
cadiou@local :~/ demo$ git log
commit 9002 ccbab0a0cca2941cec9ee3182defe787a4b7Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 17:38:04 2016 +0100
ajout texte
commit 35 dbd347c4264548fe2140bc36a49d5b08416fc9Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 15:18:41 2016 +0100
dépôt initial
32 / 70
![Page 44: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/44.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Enregistrement des modifications
cadiou@local :~/ demo$ git commit -m " ajout texte " projet .tex
[ master 9002 ccb] ajout texte1 file changed , 2 insertions (+)
cadiou@local :~/ demo$ git log
commit 9002 ccbab0a0cca2941cec9ee3182defe787a4b7Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 17:38:04 2016 +0100
ajout texte
commit 35 dbd347c4264548fe2140bc36a49d5b08416fc9Author : Anne Cadiou <anne.cadiou@ec -lyon.fr >Date: Thu Jan 14 15:18:41 2016 +0100
dépôt initial
32 / 70
![Page 45: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/45.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Comparaison entre les révisions
cadiou@local :~/ demo$ git diff 9002 ccb 35 dbd34
diff --git a/ projet .tex b/ projet .texindex c50c265 .. e69de29 100644--- a/ projet .tex+++ b/ projet .tex@@ -1,2 +0 ,0 @@-% Ajout d’un texte-
cadiou@local :~/ demo$ git diff HEAD 35 dbd34
cadiou@local :~/ demo$ git difftool HEAD 35 dbd34
33 / 70
![Page 46: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/46.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Comparaison entre les révisions
cadiou@local :~/ demo$ git diff 9002 ccb 35 dbd34
diff --git a/ projet .tex b/ projet .texindex c50c265 .. e69de29 100644--- a/ projet .tex+++ b/ projet .tex@@ -1,2 +0 ,0 @@-% Ajout d’un texte-
cadiou@local :~/ demo$ git diff HEAD 35 dbd34
cadiou@local :~/ demo$ git difftool HEAD 35 dbd34
33 / 70
![Page 47: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/47.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Emploi de raccourcis
Modification et ajout de fichiers
cadiou@local :~/ demo$ git status -s
M projet .tex?? README .txt
cadiou@local :~/ demo$ git add README .txtcadiou@local :~/ demo$ git status -s
A README .txtM projet .tex
34 / 70
![Page 48: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/48.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Emploi de raccourcis
Modification et ajout de fichiers
cadiou@local :~/ demo$ git status -s
M projet .tex?? README .txt
cadiou@local :~/ demo$ git add README .txtcadiou@local :~/ demo$ git status -s
A README .txtM projet .tex
34 / 70
![Page 49: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/49.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Emploi de raccourcis
Modification et ajout de fichiers
cadiou@local :~/ demo$ git status -s
M projet .tex?? README .txt
cadiou@local :~/ demo$ git add README .txtcadiou@local :~/ demo$ git status -s
A README .txtM projet .tex
34 / 70
![Page 50: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/50.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Journal de bord
cadiou@local :~/ demo$ git commit -m " ajout titre " -a
[ master 145 b9b5] ajout titre2 files changed , 2 insertions (+)create mode 100644 README .txt
cadiou@local :~/ demo$ git log --oneline
145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
35 / 70
![Page 51: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/51.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Journal de bord
cadiou@local :~/ demo$ git commit -m " ajout titre " -a
[ master 145 b9b5] ajout titre2 files changed , 2 insertions (+)create mode 100644 README .txt
cadiou@local :~/ demo$ git log --oneline
145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
35 / 70
![Page 52: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/52.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Journal de bord
cadiou@local :~/ demo$ git commit -m " ajout titre " -a
[ master 145 b9b5] ajout titre2 files changed , 2 insertions (+)create mode 100644 README .txt
cadiou@local :~/ demo$ git log --oneline
145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
35 / 70
![Page 53: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/53.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Alias
cadiou@local :~/ demo$ git log --pretty = format :\"%h%x09%an%x09%ad%x09%s\"
145 b9b5 Anne Cadiou Thu Jan 14 18:23:21 2016 +0100ajout titre
9002 ccb Anne Cadiou Thu Jan 14 17:38:04 2016 +0100ajout texte
35 dbd34 Anne Cadiou Thu Jan 14 15:18:41 2016 +0100dépôt initial
git config --global alias .lg ’ log --pretty = format :"%h%x09%an%x09%ad%x09%s"’
36 / 70
![Page 54: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/54.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Retour en arrière145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
cadiou@local :~/ demo$ git checkout 9002 ccb projet .texcadiou@local :~/ demo$ git status -s
M projet .tex
Le fichier est comme dans 9002ccb
cadiou@local :~/ demo$ git commit -m " retour vers 9002 ccb" -a
[ master b1b2c39 ] retour vers 9002 ccb1 file changed , 1 deletion (-)
37 / 70
![Page 55: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/55.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Retour en arrière145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
cadiou@local :~/ demo$ git checkout 9002 ccb projet .texcadiou@local :~/ demo$ git status -s
M projet .tex
Le fichier est comme dans 9002ccb
cadiou@local :~/ demo$ git commit -m " retour vers 9002 ccb" -a
[ master b1b2c39 ] retour vers 9002 ccb1 file changed , 1 deletion (-)
37 / 70
![Page 56: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/56.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Retour en arrière145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
cadiou@local :~/ demo$ git checkout 9002 ccb projet .texcadiou@local :~/ demo$ git status -s
M projet .tex
Le fichier est comme dans 9002ccb
cadiou@local :~/ demo$ git commit -m " retour vers 9002 ccb" -a
[ master b1b2c39 ] retour vers 9002 ccb1 file changed , 1 deletion (-)
37 / 70
![Page 57: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/57.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Annulation
cadiou@local :~/ demo$ git revert HEAD
[ master e03841b ] Revert " retour vers 9002 ccb"1 file changed , 1 insertion (+)
cadiou@local :~/ demo$ git log --oneline
e03841b Revert " retour vers 9002 ccb"b1b2c39 retour vers 9002 ccb145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
Le fichier est comme 145b9b5
38 / 70
![Page 58: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/58.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Annulation
cadiou@local :~/ demo$ git revert HEAD
[ master e03841b ] Revert " retour vers 9002 ccb"1 file changed , 1 insertion (+)
cadiou@local :~/ demo$ git log --oneline
e03841b Revert " retour vers 9002 ccb"b1b2c39 retour vers 9002 ccb145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
Le fichier est comme 145b9b5
38 / 70
![Page 59: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/59.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Annulation
cadiou@local :~/ demo$ git revert HEAD
[ master e03841b ] Revert " retour vers 9002 ccb"1 file changed , 1 insertion (+)
cadiou@local :~/ demo$ git log --oneline
e03841b Revert " retour vers 9002 ccb"b1b2c39 retour vers 9002 ccb145 b9b5 ajout titre9002 ccb ajout texte35 dbd34 dépôt initial
Le fichier est comme 145b9b5
38 / 70
![Page 60: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/60.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Branches
Branches
cadiou@local :~/ demo$ git branch
* master
39 / 70
![Page 61: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/61.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
ConfigurationAjouter à son environnement (.bashrc)
function parse_git_branch {git branch --no - color 2> /dev/null | sed -e ’/^[^*]/d’ -e ’s
/* \(.*\) /\1/ ’}function git - track {CURRENT_BRANCH =$( parse_git_branch )git - config branch . $CURRENT_BRANCH . remote $1git - config branch . $CURRENT_BRANCH . merge refs/ heads /
$CURRENT_BRANCH}function parse_git_branch_and_add_brackets {git branch --no - color 2> /dev/null | sed -e ’/^[^*]/d’ -e ’s
/* \(.*\) /\ \[\1\]/ ’}
PS1 ="\ u@\h:\$( parse_git_branch_and_add_brackets ) \w\$ "
40 / 70
![Page 62: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/62.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Création d’une nouvelle branche
cadiou@moon : [ master ] ~/ demo$ git branch -a* master
cadiou@moon : [ master ] ~/ demo$ git branch developcadiou@moon : [ master ] ~/ demo$ git branchdevelop* master
cadiou@moon : [ master ] ~/ demo$ git checkout develop* developmastercadiou@moon : [ develop ] ~/ demo$
Tout en une seule commande
cadiou@moon : [ master ] ~/ demo$ git checkout -b developSwitched to a new branch ’develop ’cadiou@moon : [ develop ] ~/ demo$
41 / 70
![Page 63: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/63.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion
cadiou@moon : [ master ] ~/ demo$ git merge developcadiou@moon : [ master ] ~/ demo$ git log --oneline --graph --
color
* 2136676 après fusion|\| * 457 c155 ajout références| * 4 ba2d09 ajout bibliographie* | fc6cc31 après branche|/* e03841b Revert " retour vers 9002 ccb"* b1b2c39 retour vers 9002 ccb* 145 b9b5 ajout titre* 9002 ccb ajout texte* 35 dbd34 dépôt initial
42 / 70
![Page 64: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/64.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion
cadiou@moon : [ master ] ~/ demo$ git merge developcadiou@moon : [ master ] ~/ demo$ git log --oneline --graph --
color
* 2136676 après fusion|\| * 457 c155 ajout références| * 4 ba2d09 ajout bibliographie* | fc6cc31 après branche|/* e03841b Revert " retour vers 9002 ccb"* b1b2c39 retour vers 9002 ccb* 145 b9b5 ajout titre* 9002 ccb ajout texte* 35 dbd34 dépôt initial
42 / 70
![Page 65: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/65.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Outils d’arbitrage
cadiou@moon : [ master ] ~/ demo$ git difftool 9002 ccb 145 b9b5projet .tex
cadiou@moon : [ master ] ~/ demo$ git mergetool developcadiou@moon : [ master ] ~/ demo$ git mergetool -t meldcadiou@moon : [ master ] ~/ demo$ git config --global merge .tool
kdiff3cadiou@moon : [ master ] ~/ demo$ git config --global merge .tool
vimdiff
dans .gitconfig[ merge ]
tool = vimdiff
43 / 70
![Page 66: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/66.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Destruction des branches
cadiou@moon : [ master ] ~/ demo$ git branch -d developDeleted branch develop (was 387526 b).
cadiou@moon : [ master ] ~/ demo$ git branch -a* master
44 / 70
![Page 67: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/67.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Table des matières
1 Contexte
2 Systèmes de gestion de versions
3 Git
4 Exemple local
5 Exemple collaboratif
6 Outils, forges, serveurs et services web
45 / 70
![Page 68: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/68.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Initialiser le dépôt
Bonne pratique (extension .git)
souris@distant :~$ mkdir demo.git
Initialiser le dépôt
souris@distant :~/ demo.git$ git init --bare
Initialized empty Git repository in /home/ souris /demo.git/
46 / 70
![Page 69: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/69.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Initialiser le dépôt
Bonne pratique (extension .git)
souris@distant :~$ mkdir demo.git
Initialiser le dépôt
souris@distant :~/ demo.git$ git init --bare
Initialized empty Git repository in /home/ souris /demo.git/
46 / 70
![Page 70: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/70.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure
souris@distant :~/ demo.git$ ls
branches config description HEAD hooks info objectsrefs
souris@distant :~/ demo.git$ cat config
[core]repositoryformatversion = 0filemode = truebare = true
47 / 70
![Page 71: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/71.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure
souris@distant :~/ demo.git$ ls
branches config description HEAD hooks info objectsrefs
souris@distant :~/ demo.git$ cat config
[core]repositoryformatversion = 0filemode = truebare = true
47 / 70
![Page 72: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/72.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure
souris@distant :~/ demo.git$ ls
branches config description HEAD hooks info objectsrefs
souris@distant :~/ demo.git$ cat config
[core]repositoryformatversion = 0filemode = truebare = true
47 / 70
![Page 73: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/73.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure
souris@distant :~/ demo.git$ ls
branches config description HEAD hooks info objectsrefs
souris@distant :~/ demo.git$ cat config
[core]repositoryformatversion = 0filemode = truebare = true
47 / 70
![Page 74: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/74.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Cloner
Machine locale de Bernard
bernard@pcbernard :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...warning : You appear to have cloned an empty repository .done.
bernard@pcbernard :~$ cd demobernard@pcbernard :~/ demo$ ls -a
. .. .git
48 / 70
![Page 75: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/75.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Cloner
Machine locale de Bernard
bernard@pcbernard :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...warning : You appear to have cloned an empty repository .done.
bernard@pcbernard :~$ cd demobernard@pcbernard :~/ demo$ ls -a
. .. .git
48 / 70
![Page 76: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/76.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Cloner
Machine locale de Bernard
bernard@pcbernard :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...warning : You appear to have cloned an empty repository .done.
bernard@pcbernard :~$ cd demobernard@pcbernard :~/ demo$ ls -a
. .. .git
48 / 70
![Page 77: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/77.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure du clone
bernard@pcbernard :~/ demo$ cat .git/ config
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true
[ remote " origin "]url = souris@distant :demo.gitfetch = +refs/ heads /*: refs/ remotes / origin /*
[ branch " master "]remote = originmerge = refs/ heads / master
49 / 70
![Page 78: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/78.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Structure du clone
bernard@pcbernard :~/ demo$ cat .git/ config
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true
[ remote " origin "]url = souris@distant :demo.gitfetch = +refs/ heads /*: refs/ remotes / origin /*
[ branch " master "]remote = originmerge = refs/ heads / master
49 / 70
![Page 79: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/79.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Échanges avec le dépôt
bernard@pcbernard :~/ demo$ vi fichier .texbernard@pcbernard :~/ demo$ git add fichier .texbernard@pcbernard :~/ demo$ git commit -m " Ajout de fichier "
-a
[ master (root - commit ) 4 ba89d5 ] Ajout de fichier1 file changed , 2 insertions (+)create mode 100644 fichier .tex
bernard@pcbernard :~/ demo$ git push origin master
Counting objects : 3, done.Writing objects : 100% (3/3) , 240 bytes | 0 bytes /s, done.Total 3 ( delta 0) , reused 0 ( delta 0)To souris@distant :TEST/demo.git
* [new branch ] master -> master
50 / 70
![Page 80: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/80.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Échanges avec le dépôt
bernard@pcbernard :~/ demo$ vi fichier .texbernard@pcbernard :~/ demo$ git add fichier .texbernard@pcbernard :~/ demo$ git commit -m " Ajout de fichier "
-a
[ master (root - commit ) 4 ba89d5 ] Ajout de fichier1 file changed , 2 insertions (+)create mode 100644 fichier .tex
bernard@pcbernard :~/ demo$ git push origin master
Counting objects : 3, done.Writing objects : 100% (3/3) , 240 bytes | 0 bytes /s, done.Total 3 ( delta 0) , reused 0 ( delta 0)To souris@distant :TEST/demo.git
* [new branch ] master -> master
50 / 70
![Page 81: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/81.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Échanges avec le dépôt
bernard@pcbernard :~/ demo$ vi fichier .texbernard@pcbernard :~/ demo$ git add fichier .texbernard@pcbernard :~/ demo$ git commit -m " Ajout de fichier "
-a
[ master (root - commit ) 4 ba89d5 ] Ajout de fichier1 file changed , 2 insertions (+)create mode 100644 fichier .tex
bernard@pcbernard :~/ demo$ git push origin master
Counting objects : 3, done.Writing objects : 100% (3/3) , 240 bytes | 0 bytes /s, done.Total 3 ( delta 0) , reused 0 ( delta 0)To souris@distant :TEST/demo.git
* [new branch ] master -> master
50 / 70
![Page 82: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/82.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Échanges avec le dépôt
bernard@pcbernard :~/ demo$ vi fichier .texbernard@pcbernard :~/ demo$ git add fichier .texbernard@pcbernard :~/ demo$ git commit -m " Ajout de fichier "
-a
[ master (root - commit ) 4 ba89d5 ] Ajout de fichier1 file changed , 2 insertions (+)create mode 100644 fichier .tex
bernard@pcbernard :~/ demo$ git push origin master
Counting objects : 3, done.Writing objects : 100% (3/3) , 240 bytes | 0 bytes /s, done.Total 3 ( delta 0) , reused 0 ( delta 0)To souris@distant :TEST/demo.git
* [new branch ] master -> master
50 / 70
![Page 83: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/83.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bianca veut participer...
bianca@pcbianca :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...remote : Counting objects : 3, done.remote : Total 3 ( delta 0) , reused 0 ( delta 0)Receiving objects : 100% (3/3) , done.Checking connectivity ... done.
bianca@pcbianca :~$ cd demobianca@pcbianca :~/ demo$ ls
fichier .tex
bianca@pcbianca :~/ demo$ git lg ( alias de log --pretty = format:\"%h%x09%an%x09%ad%x09%s\")
ba89d5 Bernard Mouse Sun Jan 17 18:10:43 2016 +0100Ajout de fichier
51 / 70
![Page 84: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/84.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bianca veut participer...
bianca@pcbianca :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...remote : Counting objects : 3, done.remote : Total 3 ( delta 0) , reused 0 ( delta 0)Receiving objects : 100% (3/3) , done.Checking connectivity ... done.
bianca@pcbianca :~$ cd demobianca@pcbianca :~/ demo$ ls
fichier .tex
bianca@pcbianca :~/ demo$ git lg ( alias de log --pretty = format:\"%h%x09%an%x09%ad%x09%s\")
ba89d5 Bernard Mouse Sun Jan 17 18:10:43 2016 +0100Ajout de fichier
51 / 70
![Page 85: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/85.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bianca veut participer...
bianca@pcbianca :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...remote : Counting objects : 3, done.remote : Total 3 ( delta 0) , reused 0 ( delta 0)Receiving objects : 100% (3/3) , done.Checking connectivity ... done.
bianca@pcbianca :~$ cd demobianca@pcbianca :~/ demo$ ls
fichier .tex
bianca@pcbianca :~/ demo$ git lg ( alias de log --pretty = format:\"%h%x09%an%x09%ad%x09%s\")
ba89d5 Bernard Mouse Sun Jan 17 18:10:43 2016 +0100Ajout de fichier
51 / 70
![Page 86: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/86.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bianca veut participer...
bianca@pcbianca :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...remote : Counting objects : 3, done.remote : Total 3 ( delta 0) , reused 0 ( delta 0)Receiving objects : 100% (3/3) , done.Checking connectivity ... done.
bianca@pcbianca :~$ cd demobianca@pcbianca :~/ demo$ ls
fichier .tex
bianca@pcbianca :~/ demo$ git lg ( alias de log --pretty = format:\"%h%x09%an%x09%ad%x09%s\")
ba89d5 Bernard Mouse Sun Jan 17 18:10:43 2016 +0100Ajout de fichier
51 / 70
![Page 87: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/87.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bianca veut participer...
bianca@pcbianca :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...remote : Counting objects : 3, done.remote : Total 3 ( delta 0) , reused 0 ( delta 0)Receiving objects : 100% (3/3) , done.Checking connectivity ... done.
bianca@pcbianca :~$ cd demobianca@pcbianca :~/ demo$ ls
fichier .tex
bianca@pcbianca :~/ demo$ git lg ( alias de log --pretty = format:\"%h%x09%an%x09%ad%x09%s\")
ba89d5 Bernard Mouse Sun Jan 17 18:10:43 2016 +0100Ajout de fichier
51 / 70
![Page 88: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/88.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bianca veut participer...
bianca@pcbianca :~$ git clone souris@distant :~/ demo.git
Cloning into ’demo ’...remote : Counting objects : 3, done.remote : Total 3 ( delta 0) , reused 0 ( delta 0)Receiving objects : 100% (3/3) , done.Checking connectivity ... done.
bianca@pcbianca :~$ cd demobianca@pcbianca :~/ demo$ ls
fichier .tex
bianca@pcbianca :~/ demo$ git lg ( alias de log --pretty = format:\"%h%x09%an%x09%ad%x09%s\")
ba89d5 Bernard Mouse Sun Jan 17 18:10:43 2016 +0100Ajout de fichier
51 / 70
![Page 89: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/89.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
clone
52 / 70
![Page 90: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/90.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Biancaclone
52 / 70
![Page 91: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/91.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
53 / 70
![Page 92: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/92.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
commit
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
commit
53 / 70
![Page 93: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/93.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Biancapush
53 / 70
![Page 94: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/94.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
push
53 / 70
![Page 95: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/95.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
pull
53 / 70
![Page 96: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/96.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
push
53 / 70
![Page 97: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/97.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Collaboration en image
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Biancapull
53 / 70
![Page 98: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/98.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Travail simultané de Bernard et Bianca
bianca@pcbianca :~/ demo$ vi fichier .texbianca@pcbianca :~/ demo$ git commit -m ’modification de
Bianca ’ -a
[ master 94 ae224 ] modification de Bianca1 file changed , 1 insertion (+)
bernard@pcbernard :~/ demo$ vi fichier .texbernard@pcbernard :~/ demo$ git commit -m ’modification de
Bernard ’ -a
[ master 52 d0dce ] modification de Bernard1 file changed , 1 insertion (+)
54 / 70
![Page 99: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/99.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Travail simultané de Bernard et Bianca
bianca@pcbianca :~/ demo$ vi fichier .texbianca@pcbianca :~/ demo$ git commit -m ’modification de
Bianca ’ -a
[ master 94 ae224 ] modification de Bianca1 file changed , 1 insertion (+)
bernard@pcbernard :~/ demo$ vi fichier .texbernard@pcbernard :~/ demo$ git commit -m ’modification de
Bernard ’ -a
[ master 52 d0dce ] modification de Bernard1 file changed , 1 insertion (+)
54 / 70
![Page 100: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/100.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Travail simultané de Bernard et Bianca
bianca@pcbianca :~/ demo$ vi fichier .texbianca@pcbianca :~/ demo$ git commit -m ’modification de
Bianca ’ -a
[ master 94 ae224 ] modification de Bianca1 file changed , 1 insertion (+)
bernard@pcbernard :~/ demo$ vi fichier .texbernard@pcbernard :~/ demo$ git commit -m ’modification de
Bernard ’ -a
[ master 52 d0dce ] modification de Bernard1 file changed , 1 insertion (+)
54 / 70
![Page 101: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/101.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Travail simultané de Bernard et Bianca
bianca@pcbianca :~/ demo$ vi fichier .texbianca@pcbianca :~/ demo$ git commit -m ’modification de
Bianca ’ -a
[ master 94 ae224 ] modification de Bianca1 file changed , 1 insertion (+)
bernard@pcbernard :~/ demo$ vi fichier .texbernard@pcbernard :~/ demo$ git commit -m ’modification de
Bernard ’ -a
[ master 52 d0dce ] modification de Bernard1 file changed , 1 insertion (+)
54 / 70
![Page 102: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/102.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bianca dépose ses modifications
bianca@pcbianca :~/ demo$ git push origin master
Counting objects : 5, done.Delta compression using up to 4 threads .Compressing objects : 100% (2/2) , done.Writing objects : 100% (3/3) , 299 bytes | 0 bytes /s, done.Total 3 ( delta 0) , reused 0 ( delta 0)To souris@distant :~/ demo.git
4 ba89d5 ..94 ae224 master -> master
55 / 70
![Page 103: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/103.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bianca dépose ses modifications
bianca@pcbianca :~/ demo$ git push origin master
Counting objects : 5, done.Delta compression using up to 4 threads .Compressing objects : 100% (2/2) , done.Writing objects : 100% (3/3) , 299 bytes | 0 bytes /s, done.Total 3 ( delta 0) , reused 0 ( delta 0)To souris@distant :~/ demo.git
4 ba89d5 ..94 ae224 master -> master
55 / 70
![Page 104: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/104.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bernard échoue avant de se synchroniser
bernard@pcbernard :~/ demo$ git push origin master
To souris@distant :~/ demo.git! [ rejected ] master -> master ( fetch first )
error : failed to push some refs to ’souris@distant :~/ demo.git ’
hint: Updates were rejected because the remote contains workthat you do
hint: not have locally . This is usually caused by anotherrepository pushing
hint: to the same ref. You may want to first integrate theremote changes
hint: (e.g., ’git pull ... ’) before pushing again .hint: See the ’Note about fast -forwards ’ in ’git push --help
’ for details .
56 / 70
![Page 105: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/105.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bernard échoue avant de se synchroniser
bernard@pcbernard :~/ demo$ git push origin master
To souris@distant :~/ demo.git! [ rejected ] master -> master ( fetch first )
error : failed to push some refs to ’souris@distant :~/ demo.git ’
hint: Updates were rejected because the remote contains workthat you do
hint: not have locally . This is usually caused by anotherrepository pushing
hint: to the same ref. You may want to first integrate theremote changes
hint: (e.g., ’git pull ... ’) before pushing again .hint: See the ’Note about fast -forwards ’ in ’git push --help
’ for details .
56 / 70
![Page 106: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/106.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Conflit et résolution
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
57 / 70
![Page 107: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/107.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Conflit et résolution
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
commit
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
commit
57 / 70
![Page 108: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/108.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Conflit et résolution
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
push
57 / 70
![Page 109: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/109.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Conflit et résolution
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Biancapush
57 / 70
![Page 110: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/110.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Conflit et résolution
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Biancapull
Conflit !
57 / 70
![Page 111: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/111.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Conflit et résolution
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
arbitrage/fusion effective
57 / 70
![Page 112: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/112.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Conflit et résolution
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
commit
57 / 70
![Page 113: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/113.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Conflit et résolution
fichier.tex
Dépôtfichier.tex
Dépôt de Bernard
fichier.tex
Bernard
fichier.tex
Dépôt de Bianca
fichier.tex
Bianca
commitcommit
push
57 / 70
![Page 114: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/114.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Gestion des conflits entre Bernard et Bianca
bianca@pcbianca :~/ demo$ git pull
remote : Counting objects : 5, done.remote : Compressing objects : 100% (2/2) , done.remote : Total 3 ( delta 0) , reused 0 ( delta 0)Unpacking objects : 100% (3/3) , done.From p2chpd - visu7 .univ - lyon1 .fr:TEST/demo
4 ba89d5 ..94 ae224 master -> origin / masterAuto - merging fichier .texCONFLICT ( content ): Merge conflict in fichier .texAutomatic merge failed ; fix conflicts and then commit the
result .
58 / 70
![Page 115: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/115.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Gestion des conflits entre Bernard et Bianca
bianca@pcbianca :~/ demo$ git pull
remote : Counting objects : 5, done.remote : Compressing objects : 100% (2/2) , done.remote : Total 3 ( delta 0) , reused 0 ( delta 0)Unpacking objects : 100% (3/3) , done.From p2chpd - visu7 .univ - lyon1 .fr:TEST/demo
4 ba89d5 ..94 ae224 master -> origin / masterAuto - merging fichier .texCONFLICT ( content ): Merge conflict in fichier .texAutomatic merge failed ; fix conflicts and then commit the
result .
58 / 70
![Page 116: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/116.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion manuelle
bianca@pcbianca :~/ demo$ vi fichier .tex
1 % commentaire de Bianca2 <<<<<<< HEAD3 % commentaire de Bianca4 =======5 % commentaire de Bernard au même endroit6 >>>>>>> 94 ae22421e3bf6d329bdf1e13bcbc77a850ed258
59 / 70
![Page 117: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/117.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion manuelle
bianca@pcbianca :~/ demo$ vi fichier .tex
1 % commentaire de Bianca2 <<<<<<< HEAD3 % commentaire de Bianca4 =======5 % commentaire de Bernard au même endroit6 >>>>>>> 94 ae22421e3bf6d329bdf1e13bcbc77a850ed258
59 / 70
![Page 118: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/118.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion avec un outil
bianca@pcbianca :~/ demo$ git mergetool fichier .texbianca@pcbianca :~/ demo$ git checkout --ours fichier .texbianca@pcbianca :~/ demo$ git checkout --theirs fichier .texbianca@pcbianca :~/ demo$ git commit -m " fusion avec theirs "
Normal merge conflict for ’fichier .tex ’:{ local }: modified file{ remote }: modified file
Hit return to start merge resolution tool ( vimdiff ):4 files to edit
60 / 70
![Page 119: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/119.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion avec un outil
bianca@pcbianca :~/ demo$ git mergetool fichier .texbianca@pcbianca :~/ demo$ git checkout --ours fichier .texbianca@pcbianca :~/ demo$ git checkout --theirs fichier .texbianca@pcbianca :~/ demo$ git commit -m " fusion avec theirs "
Normal merge conflict for ’fichier .tex ’:{ local }: modified file{ remote }: modified file
Hit return to start merge resolution tool ( vimdiff ):4 files to edit
60 / 70
![Page 120: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/120.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion en instance
bianca@pcbianca :~/ demo$ git status
On branch masterYour branch and ’origin /master ’ have diverged ,and have 1 and 1 different commit each , respectively .
(use "git pull" to merge the remote branch into yours )
All conflicts fixed but you are still merging .(use "git commit " to conclude merge )
Changes to be committed :
modified : fichier .tex
Untracked files :(use "git add <file >..." to include in what will be
committed )
fichier .tex.orig
61 / 70
![Page 121: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/121.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion en instance
bianca@pcbianca :~/ demo$ git status
On branch masterYour branch and ’origin /master ’ have diverged ,and have 1 and 1 different commit each , respectively .
(use "git pull" to merge the remote branch into yours )
All conflicts fixed but you are still merging .(use "git commit " to conclude merge )
Changes to be committed :
modified : fichier .tex
Untracked files :(use "git add <file >..." to include in what will be
committed )
fichier .tex.orig
61 / 70
![Page 122: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/122.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion effective
bianca@pcbianca :~/ demo$ git commit -m " fusion avec theirs "[ master c198c63 ] fusion avec theirsbianca@pcbianca :~/ demo$ git push origin master
Counting objects : 10, done.Delta compression using up to 4 threads .Compressing objects : 100% (2/2) , done.Writing objects : 100% (6/6) , 556 bytes | 0 bytes /s, done.Total 6 ( delta 0) , reused 0 ( delta 0)To souris@distant :~/ demo.git
94 ae224 .. c198c63 master -> master
bianca@pcbianca :~/ demo$ git pull origin master
From distant :~/ demo* branch master -> FETCH_HEAD
Already up -to -date.
... travail à faire par Bernard si Bianca continue ses modifications62 / 70
![Page 123: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/123.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion effective
bianca@pcbianca :~/ demo$ git commit -m " fusion avec theirs "[ master c198c63 ] fusion avec theirsbianca@pcbianca :~/ demo$ git push origin master
Counting objects : 10, done.Delta compression using up to 4 threads .Compressing objects : 100% (2/2) , done.Writing objects : 100% (6/6) , 556 bytes | 0 bytes /s, done.Total 6 ( delta 0) , reused 0 ( delta 0)To souris@distant :~/ demo.git
94 ae224 .. c198c63 master -> master
bianca@pcbianca :~/ demo$ git pull origin master
From distant :~/ demo* branch master -> FETCH_HEAD
Already up -to -date.
... travail à faire par Bernard si Bianca continue ses modifications62 / 70
![Page 124: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/124.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Fusion effective
bianca@pcbianca :~/ demo$ git commit -m " fusion avec theirs "[ master c198c63 ] fusion avec theirsbianca@pcbianca :~/ demo$ git push origin master
Counting objects : 10, done.Delta compression using up to 4 threads .Compressing objects : 100% (2/2) , done.Writing objects : 100% (6/6) , 556 bytes | 0 bytes /s, done.Total 6 ( delta 0) , reused 0 ( delta 0)To souris@distant :~/ demo.git
94 ae224 .. c198c63 master -> master
bianca@pcbianca :~/ demo$ git pull origin master
From distant :~/ demo* branch master -> FETCH_HEAD
Already up -to -date.
... travail à faire par Bernard si Bianca continue ses modifications62 / 70
![Page 125: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/125.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bonne pratique : utiliser les branches
bernard@pcbernard :~$ git clone souris@distant :~/ demo.gitbernard@pcbernard :~$ git checkout -b bernardbranche
git branch -a* master
remotes / origin /HEAD -> origin / masterremotes / origin / master
bianca@pcbianca :~$ git clone souris@distant :~/ demo.gitbianca@pcbianca :~$ git checkout -b biancabranche
... et utiliser les différentes commandes
63 / 70
![Page 126: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/126.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Bonne pratique : utiliser les branches
bernard@pcbernard :~$ git clone souris@distant :~/ demo.gitbernard@pcbernard :~$ git checkout -b bernardbranche
git branch -a* master
remotes / origin /HEAD -> origin / masterremotes / origin / master
bianca@pcbianca :~$ git clone souris@distant :~/ demo.gitbianca@pcbianca :~$ git checkout -b biancabranche
... et utiliser les différentes commandes
63 / 70
![Page 127: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/127.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Table des matières
1 Contexte
2 Systèmes de gestion de versions
3 Git
4 Exemple local
5 Exemple collaboratif
6 Outils, forges, serveurs et services web
64 / 70
![Page 128: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/128.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Outils, forges, serveurs et services web
Environnement de développement
• Éditeur de texte (vi, gedit, xemacs, nano, geany, ...)• IDE (Integrated Development Environment)• Service en ligne d’hébergement de projets (interne ou externe)
65 / 70
![Page 129: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/129.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Atelier de génie logiciel• IDE
• Eclipse, NetBeans, ...• Visual Studio, ... (propriétaire)
Principe (d’après Wikipédia)- conception générale du projet, étapes ou phases de réalisation- composition et organisation de l’équipe projet- calendrier, charges de travail, moyens et budgets- conventions de nommage des données et des programmes- structuration des données- aide à l’édition de programmes dans différents langages- compilation- génération de code optimisé- édition de liens- aide aux tests et suivi des corrections- bibliothèques pouvant être réutilisées dans plusieurs projets- documentations- gestion des versions successives des programmes
66 / 70
![Page 130: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/130.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Service en ligne d’hébergement de projets• Forge logicielle, gestion de projets de développement collaboratifs
• Redmine, Tuleap, Trac,• Gitlab, Github, Gogs, Coding,• FusionForge (reprise opensource de GForge, devenue propriétaire),• SourceForge, SourceSup, ...
Fonctions disponibles d’une forge (d’après Wikipédia)- système de gestion des versions (par exemple, via Git ou Mercurial)- gestionnaire de listes de discussion (et/ou de forums)- outil de suivi des bugs- gestionnaire de documentation (souvent sur le principe du wiki)- gestion des tâches
Services d’hébergement externeshttps :// sourceforge .nethttps :// www. github .com
ou interne (ex. Gitlab de votre labo, entité, établissement, ...)https :// gitlab . mecaflu .ec -lyon.frhttps :// forge . p2chpd .univ - lyon1 .fr
67 / 70
![Page 131: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/131.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Quelques comparaisonsComparaison de services d’hébergement Git en version gratuite
Github Bitbucket GitLab
3 très gros projet(138+ millionsdépôts, 600employés)
3 Grandeinteropérabilitéavec d’autresoutils
7 dépôts publicsuniquement
7 pas d’instanceprivée
3 très gros projet3 Git & Mercurial3 intégration dans
les produitsAtlassian
7 5 utilisateursmax/dépôt
7 pas d’instanceprivée
3 projet pérenne etdynamique (132employés, 33pays)
3 pas de limitedans la versionhébergée
7 des lenteurs surle site gitlab.com
3 instance privéeopensource
3 outilsd’intégrationcontinue natifs
(de Matthieu Boileau, nov. 2016, d’après http://comparegithosting.com)68 / 70
![Page 132: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/132.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Hébergement et interfaces
Github GitLab Gogs
3 Git, SVN, Hg,TFS
7 externe3 très large
communauté3 prise en main
intuitiveprog. en Ruby
7 Git3 interne/externe3 très utilisé3 prise en main
relativementrapideprog. en Ruby
3 extensions(ContinuousIntegration,Large FileStorage, ...)
7 Git7 interne (light)3 relativement
nouveau3 sur le modèle de
Githubprog. en Go
⇒ Combiner éventuellement suivant le mode de diffusion choisi69 / 70
![Page 133: AnneCadiou - Claude Bernard University Lyon 1lyoncalcul.univ-lyon1.fr/ed/DOCS_2016-2017/cours_GIT.pdf · 2021. 1. 26. · Contexte Principe Git Exemple local Exemple collaboratif](https://reader036.fdocuments.fr/reader036/viewer/2022071408/610012378559f15a99005309/html5/thumbnails/133.jpg)
Contexte Principe Git Exemple local Exemple collaboratif Outils, forges, serveurs et services web
Exploitation de Gitlab par l’utilisateur
Les fonctionnalités de GitLab
• Création rapide de projets avec gestion des droits (public, privé,...)• Groupes de projets• Historique des commits• Edition en ligne• Outils annexes :
- statistiques- wiki- gestionnaire de tickets- notifications par mail
• Intégration continue avec gitlab-ci
70 / 70