La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Fonctionnement et workflow

Présentations similaires


Présentation au sujet: "Fonctionnement et workflow"— Transcription de la présentation:

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


Télécharger ppt "Fonctionnement et workflow"

Présentations similaires


Annonces Google