les commandes Git que vous devez absolument connaitre!.pdf
Git et les systèmes de gestion de versions
1. Git et les systèmes de
gestion de versions
Pourquoi c'est bien
Comment s'en servir
1 Tälk #02 - alice@pulz.fr
2. De quoi s'agit-il ?
• Maintenir l'ensemble des versions d'un ou plusieurs
fichiers (exemple : l'historique Wikipedia)
• Pouvoir rappeler une version antérieure à tout
moment (révision)
• Nécessité d'utiliser un logiciel
• SVN
• Mercurial
• … ou Git
2 Tälk #02 - alice@pulz.fr
3. Intérêt
• Pouvoir travailler en équipe facilement
• Arrêter d'effacer les fichiers du collègue et perdre des
données
• Arrêter de se mélanger dans ses sauvegardes
• Arrêter de faire des bêtises sur le FTP
• Avoir une vision globale du projet
3 Tälk #02 - alice@pulz.fr
4. Git - Avantages
• Travail hors ligne, la majorité des opérations est locale
• Rapide
• La quasi totalité des actions est réversible
• Facilité dans la gestion des branches
• Facile à utiliser
4 Tälk #02 - alice@pulz.fr
5. Git - Les 3 états (1/3)
• Gestion des données en instantané (snapshot)
• Instantané = état du répertoire à un instant t
• Mini système de fichiers
• 3 états de fichiers :
• Validé : données stockées en bd locale
• Modifié : fichier modifié, pas encore validé en base
• Indexé : fichier marqué pour faire partie de la prochaine
révision
5 Tälk #02 - alice@pulz.fr
6. Git - Les 3 états (2/3)
• Répertoire git : ce qui est
copié quand on clone un
dépôt
• Répertoire de travail :
extraction unique d'une
version du projet
• Zone d'index : fichier qui
stocke les infos concernant
la prochaine révision
6 Tälk #02 - alice@pulz.fr
7. Git - Les 3 états (3/3)
• On modifie des fichiers dans son répertoire de travail
• On indexe les fichiers modifiés
• $ git add
• On valide les modifications dans la base de données du
répertoire git
• $ git commit
7 Tälk #02 - alice@pulz.fr
8. Démarrer un dépôt git existant
• $ git clone git://github.com/schacon/grit.git
• On récupère tout le repository en local
• $ git add .
• On indexe certains fichiers (ici, tous)
• $ git commit -m ''mon message de commit''
• On enregistre les changements sur le dépôt
• $ git push origin master
• On met à jour le dépôt distant, déploiement
• Si quelqu'un a modifié le projet entre temps, on tire :
• $ git pull
8 Tälk #02 - alice@pulz.fr
9. Les branches (1/2)
• Branche : diverger de la ligne principale de
développement
• Pratique pour résoudre un bug, ou quand on a une super
idée de nouveau module...
• Git privilégie la création/fusion de branches comme
méthode de travail
9 Tälk #02 - alice@pulz.fr
10. Les branches (2/2)
• Créer une branche « correctif » :
• $ git branch correctif
• $ git checkout correctif
• (ou $ git checkout -b correctif)
• On a fini de travailler sur la branche
• $ git checkout master
• $ git merge correctif
• On supprime la branche correctif
• $ git branch -d correctif
10 Tälk #02 - alice@pulz.fr
11. Conflit
• La fusion de branche n'a pas fonctionné
automatiquement : conflit de fusion
• $ git status pour voir où se trouve le conflit
• On résout le conflit
• $ git add pour marquer le fichier comme résolu
• $ git status pour vérifier que tout va bien
• On a tout cassé, besoin de revenir en urgence sur la
branche principale
• $ git stash retour à l'état d'origine
11 Tälk #02 - alice@pulz.fr
12. Où héberger son dépôt ?
• Github
• Gratuit pour l'open-source
• Joli
• Application pour Windows et Mac
• Grande communauté
• Le NAS Pülz !
• Git est installé
• Et bientôt, Gitlab (interface graphique) !
12 Tälk #02 - alice@pulz.fr