Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Fonctionnement et workflow
1 au quotidien Fonctionnement et workflow Cyrille Pontvieux Ingénieur Objet Direct/Viseo Licence : CC-by-sa / GFDL
2
Sommaire Avantages Nœuds, branches, tags Zones de travail
Commandes principales Workflows Outils / Config
3
Avantages de git
4
Avantages de git Flexibilité du workflow Création de branches facile et rapide Merge et Back-port « Tout » se fait localement Rapidité Décentralisé Populaire (documentation, aide)
5
Nœuds, branches et tags
6
Nœuds, branches et tags Git gère du contenu, pas des fichiers Tout tourne autour des commits (nœuds), qui sont référencés par une clé de hashage unique au dépôt (sha1) Un tag est une référence sur un sha1, comme un alias Une branche est comme un tag, mais elle se déplace avec le commit fils.
7
Commit Changeset (ensemble de changements effectués sur des fichiers) Un ou plusieurs commits parents Une date Un auteur Le sha1 d'un commit change dès qu'un de ces éléments change
8
Branches et tags
9
Zones de travail 5 zones distinctes 4 locales, 1 distante
Commandes pour passer d'une zone à l'autre
10
Workflow et zones de travail
Index/Stage Workspace Workspace Dépôt Local Stash Dépôt Distant
11
Commandes principales
init add rm commit push fetch merge rebase stash checkout branch tag
12
Commandes principales (1/2)
init : création d'un dépôt add/rm : ajoute ou retire les modifications dans l'index commit : crée un commit local à partir de l'index push : synchronise l'arbre local vers l'arbre distant fetch (et pull) : synchronise l'arbre distant vers l'arbre local
13
Commandes principales (2/2)
merge : crée un commit ayant deux parents, réalisant une fusion de branches rebase : change la base (le commit parent) d'un ensemble de commits stash : pousse les modifications locales (workspace + index) dans une zone tampon (ou les ressort) checkout : place le workspace sur une branche ou un tag donné branch : crée une branche à partir de la branche courante tag : crée un tag à partir de la branche courante
14
Merge Un merge crée, par défaut, un nouveau commit de fusion, un nœud Ce nœud a 2 parents, les têtes des branches fusionnées On merge une branche sur la branche actuelle On peut abandonner un merge à tout moment pour recommencer Utiliser git mergetool pour s'aider à fusionner.
15
Rebase Un rebase permet de changer le commit parent d'un commit, de changer sa base Cette opération doit être évitées sur des commits déjà publiés dans le dépôt distant (changements des sha1) Cela permet : De réorganiser l'ordre des commits locaux D'en fusionner ou supprimer certains De changer le message de commit De rejouer les commits d'une branche sur une autre
16
Pull et Push pull permet de rapatrier sur son workspace les changement réalisées sur le dépôt distant pull = fetch + merge ou fetch + rebase (selon configuration) push permet de publier depuis le dépôt local sur le dépôt distant Attention push sans argument pousse toutes les branches locales.
17
Workflows
18
Workflows
19
Workflows
20
Outils / Configuration
21
Pour ne pas être perdu, un bon prompt est important :
Se laisser aider Pour ne pas être perdu, un bon prompt est important : Lisez ce que vous dit git, souvent la commande que vous devrez taper est indiquée. git status, merge, rebase vous indique comment modifier l'index, continuer ou abandonner. Utilisez très souvent git status, et gitk (ou gitg). Cela va grandement vous aidez à comprendre ce qui est réalisé.
22
Outils gitk et gitg gitdaemon, gitlab, gitolite, gitosis svn2git (pour migrer depuis subversion) egit et autres greffons pour IDE une ligne de commande avec un bon prompt !
23
Configuration Dans votre home se trouve un fichier caché .gitconfig permettant de configurer Git : créer des alias ajouter de la couleur configurer l'éditeur de conflit par défaut modifier votre nom et pour les contributions etc
24
Configuration $ git config --global -e [branch] autosetuprebase = always [color] ui = true [merge] tool = meld [mergetool] prompt = false [alias] st = status ci = commit co = checkout br = branch unmerged = !git ls-files -u|cut -f2|sort -u untracked = !git ls-files -o --exclude- standard|sort -u
25
Couleur : http://dl.free.fr/rPggD2mKm
Ressources intéressantes Graphe et commandes autour du workflow : Cheat Sheet : Couleur : N&B :
26
2626 Questions / Réponses
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.