Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction...
Transcript of Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction...
![Page 1: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/1.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Introduction à Git
Alexandre Ancel
[email protected] Strasbourg - Institut de Chirurgie Guidée par l’Image / IRCAD
29/05/2017
1 / 34
![Page 2: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/2.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Outline
1 Introduction
2 Premières commandes
3 Branches
4 Synchronisation
5 Contribuer à un projet
6 Applications
7 Conclusion
2 / 34
![Page 3: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/3.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Plan
1 Introduction
2 Premières commandes
3 Branches
4 Synchronisation
5 Contribuer à un projet
6 Applications
7 Conclusion
3 / 34
![Page 4: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/4.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
introduction
Pourquoi les (C)VCS/DVCS ?
Gestion de versions :Centralisée: (C)VCS ou décentralisée: DVCS
But :Conserver l’historique d’un ensemble de fichiers en lesversionnant
Travail sur les changesets (groupes de diffs)Retourner à des versions antérieures (détection de bugs, . . . )Documenter les modifications (auteurs, . . . )Plus nécessaire : Conserver des copies de fichiers
Exemples :Code source d’une application (C/C++, scripts, html . . . )Fichiers de configuration (dotfiles . . . )Articles au format TEX. . .
4 / 34
![Page 5: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/5.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
introduction
Collaboration
Aspect collaboratif :Possibilité de n’utiliser le (D)VCS qu’en mode mono-utilisteurPermet l’édition collaborative de documents avec gestion desconflits de fusion avancée
Aspect organisationnel / Gestion de projet :Plateformes construites autour (web)Tickets/Issues/MilestonesBoards (Scrum, Kanban, . . . )
Aspect participatif / Communautaire :Merge/Pull requests (Github/Gitlab)
5 / 34
![Page 6: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/6.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
introduction
Différence (C)VCS/DVCS
VCS:Une seule copie centralisée d’un dépotCommiter = Enregistrer ses changements dans le systèmecentral
DVCS:Chaque "clone" a une copie complète du dépôt distant
Mode déconnecté : Les changements peuvent rester locauxTout sauf l’envoi (push) et la récupération (pull) peut etre faitlocalement.
Création de sauvegardes multiplesRapidité d’accès aux modifications: Pas besoin d’accéder à unserveur, juste au disque
Possibilité d’envoyer des changements indifférement versplusieurs dépots distants
Faire tester une modification à quelqu’un avant de proposer leschangements à tous
Englobe la fonctionnalité "centralisée"6 / 34
![Page 7: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/7.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
introduction
(C)VCS/DVCS Principaux
VCS :cvs (The CVS Team, Open Source, 1990),
Dernière release stable : 05/08Subversion (Apache, Open Source, 2000),
Dernière release stable : 11/16Perforce Helix (Perforce software, Propriétaire, 1995, DVCSdepuis),
Dernière release stable : 06/16
DVCS :Mercurial, hg (Open Source, 2005),
Dernière release stable: 05/17Facebook, W3C, Mozilla, Nginx, OpenJDK, Rhodecode, . . .
bazaar (Canonical/Community, Open Source, 2005),Dernière release stable: 02/16Ubuntu, Inkscape, . . .
7 / 34
![Page 8: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/8.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
introduction
Git
DVCS:1ère release: 07/04/2005 (12 ans)Dernière release stable: 10/05/2017Créé pour le kernel linux par Linus Torvalds,après retrait de l’utilisation gratuite de BitKeeper
Utilisateurs de git:git, kernel Linux, Google, Kitware, Communauté Open-Source(Github) . . .
Plateforme d’hébergements:Web: Github, Bitbucket, Gitlab . . .Auto-hébergeables:
Gitlab, Rhodecode, Gogs, . . .git init --bare
8 / 34
![Page 9: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/9.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
introduction
Fichiers binaires
Cas particulier des fichiers binaires: changesetsCommit d’un fichier binaire : tout le contenu dans l’historiqueA chaque commit, le dépôt augmente de la taille du nouveaufichier
Solutions pour git :Fichier .gitignore : Ignorer des fichiers par regexp
bin/*.o
Extensions: git lfs (Gitlab, Github), git annex
9 / 34
![Page 10: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/10.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Plan
1 Introduction
2 Premières commandes
3 Branches
4 Synchronisation
5 Contribuer à un projet
6 Applications
7 Conclusion
10 / 34
![Page 11: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/11.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Premières commandes
Quelques précisions 1
A chaque changement dans l’historique de git, un checksumunique SHA-1 est calculé (associé au commit, changementatomique dans l’index)Dossier .git dans le repertoire = votre dépôt local
Les 3 états du dépôt local git:
1Source: https://git-scm.com, Licence: https://creativecommons.org/licenses/by/3.0, non modifié11 / 34
![Page 12: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/12.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Premières commandes
Commande git
Apprendre par la ligne de commande (mécanismes sous-jacents),Puis utiliser git avec des applications
$ git <command> option
Commandes à voir:clone, pull, add, rm, commit, push, status, log, diff, revert,reset, branch, fetch, checkout, merge, rebase, remote, init
Accès au dépôts: https ou ssh
Première chose à faire:git config --global user.name "Prénom Nom"git config --global user.email "[email protected]"
12 / 34
![Page 13: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/13.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Premières commandes
Commandes de base
13 / 34
![Page 14: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/14.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Premières commandes
Vérifier l’état d’un dépôt:
git status
14 / 34
![Page 15: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/15.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Premières commandes
Vérifier l’état d’un dépôt:
git diff git log
15 / 34
![Page 16: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/16.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Premières commandes
Annuler des changements 2
Reset:git reset <fichier>: Annuler l’état "Staged" d’un fichier
Checkout:git checkout <fichier>: Récupère la dernière versioncommitée d’un fichier (Modifications perdues)
Revert:Annule un commit (avec un nouveau commit)git revert <commit>
Ne change pas l’historique : OK pour les commits publics
2Source: https://www.atlassian.com/git, Licence:https://creativecommons.org/licenses/by/2.5/au/, non modifié
16 / 34
![Page 17: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/17.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Plan
1 Introduction
2 Premières commandes
3 Branches
4 Synchronisation
5 Contribuer à un projet
6 Applications
7 Conclusion
17 / 34
![Page 18: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/18.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Branches
Branches dans git 3
Facilité de créations de branchesDéveloppement en parallèle de la branche principaleRéintégration des modifications avec opérateur de fusion
Modèles de branches:master, dev(evelop)Conventions de nommage: feat/newExporter, fix/bug . . .Branches de sprint (Une histoire par branche)
3Source: https://git-scm.com, Licence: https://creativecommons.org/licenses/by/3.0, non modifié18 / 34
![Page 19: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/19.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Branches
Gestion des branches 4
git branch (-vvv): Lister/créer/supprimer des branchesgit fetch: Télécharger des branches depuis un autre dépôtgit checkout: Changement de branche
git checkout -b <branch>: Créer et changer de branche
git log –oneline –graph –decorate –all: Afficher les branches
4Source: https://www.atlassian.com/git, Licence:https://creativecommons.org/licenses/by/2.5/au/, non modifié
19 / 34
![Page 20: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/20.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Branches
Fusions et type de fusion 5
git merge (git pull = git fetch + git merge)Fusion transparente: Fast forward (par défaut)Fusion marquée: Merge classique
Fast-forward 3-way merge5Source: https://www.atlassian.com/git, Licence:
https://creativecommons.org/licenses/by/2.5/au/, non modifié20 / 34
![Page 21: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/21.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Branches
Fusions et gestion des conflits
Lors des étapes de fusion: possibilité de conflits de fusionAuto-merging main.cCONFLICT (content): Merge conflict in main.cAutomatic merge failed; fix conflicts and then commit the result.
Editer les fichiers en conflits#include <mpi.h>
<<<<<<< HEADvoid main()=======int main(int argc, char ** argv)>>>>>>> branch-a
git add <fichier> && git commit
21 / 34
![Page 22: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/22.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Branches
Réécrire l’histoire ? 6
N’utilisez ces commandes que sur des commits locaux !git reset, git commit –amend
6Source: https://www.atlassian.com/git, Licence:https://creativecommons.org/licenses/by/2.5/au/, non modifié
22 / 34
![Page 23: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/23.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Branches
Réécrire l’histoire ? 7
Mais surtout: git rebaseRejouer une suite de commit sur le bout d’une branche
7Source: https://www.atlassian.com/git, Licence:https://creativecommons.org/licenses/by/2.5/au/, non modifié
23 / 34
![Page 24: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/24.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Branches
Tags
Git permet de tagger des commits:git tag: Liste les tags disponiblesgit tag <tagname> <commit>: Créé un nouveau tag sur uncommitgit push <tagname>: Envoyer le tag vers le dépôt distantgit push –tags: Envoyer tous les tags
Utile pour la CI, permet d’automatiser la création de releases
24 / 34
![Page 25: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/25.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Plan
1 Introduction
2 Premières commandes
3 Branches
4 Synchronisation
5 Contribuer à un projet
6 Applications
7 Conclusion
25 / 34
![Page 26: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/26.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Synchronisation
Remotes
Remote = version du dépôt stocké dans un dossier local, une autremachine ou Internet
https: https://github.com/fw4spl-org/fw4spl.gitssh: [email protected]:fw4spl-org/fw4spl.gitRepertoire local: /home/aancel/git/fw4spl-bare
Gestion des remotesgit remote -v: Liste des remote disponiblesgit remote add: Ajout un nouveau remote pour le dépôtgit push <remote> <branch>: Pousser une branche vers unremote
Dépôt "bare"git init: Créer un dépôt de travailgit init –bare: Créer un dépôt de partage
26 / 34
![Page 27: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/27.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Synchronisation
Pratique
Exemple: Vous utilisez un cluster de calcul qui n’autorise quel’accès SSH depuis l’extérieur.
Comment accéder à votre code versionné sur cette machine ?Créer un dépôt bare sur la frontale (Utilisez un dossier devotre disque pour simuler cela)Depuis votre dépôt local, ajouter le remote correspondantPusher le code vers le dépôt bareRécupérer votre code dans un autre dossier à partir du dépôtbare
27 / 34
![Page 28: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/28.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Plan
1 Introduction
2 Premières commandes
3 Branches
4 Synchronisation
5 Contribuer à un projet
6 Applications
7 Conclusion
28 / 34
![Page 29: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/29.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Contribuer à un projet
Merge-Request / Pull-Request
Dans quel cas utiliser les MR/PR ? (aspect participatif)Pas de droits d’accès en écriture (push) au dépôtProposer les changements que vous avez fait
Merge-Requests (Gitlab) / Pull-Requests (Github):Fork : Creation d’une copie à un instant t d’un dépotTravail sur le contenu (texte, fichiers sources . . . )(Optionnel) Resynchronisation avec le repoository d’origineCreation d’une Merge/Pull Request sur le dépot original
Discuter d’une feature, faire de la revue de code . . .Référencer les futurs commits faits sur la branche pourdiscussion
Merge (classique généralement)
29 / 34
![Page 30: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/30.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Plan
1 Introduction
2 Premières commandes
3 Branches
4 Synchronisation
5 Contribuer à un projet
6 Applications
7 Conclusion
30 / 34
![Page 31: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/31.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Applications
Applications dédiées 8
https://git-scm.com/downloads/guis:tig (OS X, Linux)gitk (Windows, OS X, Linux)Github Desktop (Windows, OS X)SmartGit (Windows, OS X, Linux)TortoiseGit (Windows)
GitKraken (Windows, OS X,Linux)
SourceTree (OS X, Windows)8Source: https://git-scm.com, Licence: https://creativecommons.org/licenses/by/3.0, non modifié
31 / 34
![Page 32: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/32.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Applications
Ligne de commande / Intégration
Ligne de commande : gitIntégration :
VimFugitive: https://github.com/tpope/vim-fugitivegit-gutter: https://github.com/airblade/vim-gitgutter
EmacsMagit: https://magit.vc,https://github.com/magit/magitgit-gutter:https://github.com/syohex/emacs-git-gutter
32 / 34
![Page 33: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/33.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Plan
1 Introduction
2 Premières commandes
3 Branches
4 Synchronisation
5 Contribuer à un projet
6 Applications
7 Conclusion
33 / 34
![Page 34: Introduction à Git - [Groupe Calcul]calcul.math.cnrs.fr/IMG/pdf/git.pdf · Introduction Premièrescommandes Branches Synchronisation Contribueràunprojet Applications Conclusion](https://reader033.fdocuments.in/reader033/viewer/2022052916/5a78fbf97f8b9a68148d8a81/html5/thumbnails/34.jpg)
Introduction Premières commandes Branches Synchronisation Contribuer à un projet Applications Conclusion
Conclusion
Conclusion
Git:DVCS (déconnecté, rapidité d’accès aux méta-données, . . . )Intégration dans de nombreux outilsDe (trop ?) nombreuses commandes sont disponibles
Certaines ont des utilisations simialaires, permettent de faireles même chose (potentiellement troublant)
Attention cependant aux modifications d’historique quandvous travaillez de manière collaborative
Références:https://git-scm.comhttps://www.atlassian.com/git/tutorialsman git-<command>
Jeux:https://try.github.io
34 / 34