Lundi 27 août 2012 ; atelier "git", archive de la conversation

   1 (11:10:17) davin.baragiotta: -------------------- DEBUT Atelier Git ---------------
   2 (11:10:24) davin.baragiotta: bonjour à tous ou rebonjour
   3 (11:10:35) francis.ngatsi: Bonjour
   4 (11:10:38) davin.baragiotta: l'atelier sur git se passe ici
   5 (11:10:46) davin.baragiotta: les questions et commentaires dans le tech svp
   6 (11:10:59) davin.baragiotta: eric.mcsween sera le modérateur
   7 (11:11:30) davin.baragiotta: rappel : cet atelier sera repris mercredi à 02h00 GMT
   8 (11:11:39) davin.baragiotta: http://wiki.auf.org/wikiteki/Projet/SemaineTech/2012
   9 (11:11:47) davin.baragiotta: http://wiki.auf.org/wikiteki/Projet/SemaineTech/2012/Ateliers/Git
  10 (11:12:07) davin.baragiotta: cet atelier nécessitait 3 pré-requis
  11 (11:12:17) davin.baragiotta: 2 installations et fournir votre clés SSH publique
  12 (11:12:39) davin.baragiotta: je suppose que c,est fait
  13 (11:12:44) chanesakhone.chitsaya a quitté le salon
  14 (11:13:00) davin.baragiotta: je vérifie avec adminstrateurs de git.auf.org
  15 (11:13:09) shafeek.sumser [shafeek.sumser@auf.org/Home] a rejoint le salon.
  16 (11:13:12) davin.baragiotta: si ils ont pu associer votre clé SSH (si elle n'y était pas)
  17 (11:13:24) davin.baragiotta: on peut commencer même si elle n'y est pas
  18 (11:13:40) davin.baragiotta: aussi : désolé de ce court retard de 13 minutes
  19 (11:14:47) chanesakhone.chitsaya [chanesakhone.chitsaya@auf.org/Home] a rejoint le salon.
  20 (11:14:53) davin.baragiotta: le contenu de l,atelier se trouve ici :
  21 (11:15:00) davin.baragiotta: http://wiki.auf.org/wikiteki/Ateliers/Git/Support
  22 (11:15:13) davin.baragiotta: vous devriez avoir 3 fenêtres ouvertes :
  23 (11:15:17) davin.baragiotta: 1. cette fenêtre
  24 (11:15:23) davin.baragiotta: 2. la page de l,atelier : http://wiki.auf.org/wikiteki/Ateliers/Git/Support
  25 (11:15:26) davin.baragiotta: 3. un terminal
  26 (11:15:31) davin.baragiotta: c'est parti
  27 (11:15:36) davin.baragiotta: INTRODUCTION
  28 (11:15:44) davin.baragiotta: Notre objectif dans cet atelier
  29 (11:15:57) davin.baragiotta: est de connaître les commandes de base de Git, pour un usage quotidien
  30 (11:16:13) davin.baragiotta: ça donne bien, il n'y en a pas beaucoup
  31 (11:16:16) davin.baragiotta: et elles sont simples
  32 (11:16:32) davin.baragiotta: On a un lien vers la documentation AUF, sur wikiteki :
  33 (11:16:37) davin.baragiotta: http://wiki.auf.org/wikiteki/Git/D%C3%A9veloppeur
  34 (11:16:45) fawaz.tairou a quitté le salon
  35 (11:16:57) davin.baragiotta: mais vous pouvez faire une recherche sur wikiteki, avec Git... il y a d'autres ressources que cette page
  36 (11:17:10) davin.baragiotta: cette doc = celle des commandes quotidiennes
  37 (11:17:19) davin.baragiotta: Pourquoi versionner?
  38 (11:17:38) davin.baragiotta: en fait, c'est souvent important de savoir quoi a été modifié....
  39 (11:17:40) davin.baragiotta: par qui...
  40 (11:17:42) davin.baragiotta: quand...
  41 (11:17:58) davin.baragiotta: afin de pouvoir retracer l'historique des interventions dans une arborescence de fichier
  42 (11:18:14) davin.baragiotta: on ne parle pas seulement ici de code source de logiciel
  43 (11:18:31) davin.baragiotta: ... mais aussi de la configuration d'un serveur, pourquoi pas... (voir JC et RTR sur le sujet)
  44 (11:19:05) davin.baragiotta: aussi... on versionne car des fois, on veut expérimenter des changements sur des fichiers... mais on veut pouvoir revenir en arrière
  45 (11:19:13) davin.baragiotta: finalement
  46 (11:19:29) davin.baragiotta: on version aussi... quand on veut faire du travail collaboratif
  47 (11:19:29) chanesakhone.chitsaya a quitté le salon
  48 (11:19:57) davin.baragiotta: on ne veut pas se marcher sur les pieds
  49 (11:20:04) davin.baragiotta: on veut voir les contrib de chacun
  50 (11:20:09) davin.baragiotta: Pourquoi Git?
  51 (11:20:27) davin.baragiotta: Git est un logiciel de gestion de version de 3e génération
  52 (11:20:34) davin.baragiotta: CVS = 1ere génération
  53 (11:20:39) davin.baragiotta: SVN = 2e génération
  54 (11:20:51) davin.baragiotta: Git, Bazaar, Mercurial = 3e génération
  55 (11:21:04) davin.baragiotta: une des caractéristiques de ces 3e générations = 
  56 (11:21:15) davin.baragiotta: gestion distribuée
  57 (11:21:30) davin.baragiotta: c'est-à-dire qu'il n'y a pas qu'un dépôt central
  58 (11:21:34) chanesakhone.chitsaya [chanesakhone.chitsaya@auf.org/Home] a rejoint le salon.
  59 (11:21:45) davin.baragiotta: à chaque fois qu'un dépôt est cloné
  60 (11:22:02) davin.baragiotta: l'ensemble du code est cloné... le dépôt se retrouve donc distribué
  61 (11:22:40) davin.baragiotta: ça nous permet notamment de pouvoir contribuer localement... hors-ligne... jusqu'à temps qu'on verse nos contrib dans le projet commun (qui lui est centralisé)
  62 (11:23:13) davin.baragiotta: mais commençons par le début... les premières commandes... en supposans un petit projet local qui ne concerne que vous
  63 (11:23:20) davin.baragiotta: VERSIONNER EN LOCAL
  64 (11:23:46) davin.baragiotta: créez vous un répertoire bidon, directement sur votre home (en fait... où vous voulez ;) )
  65 (11:23:56) davin.baragiotta: par commodité, appelons-le "atelier"
  66 (11:24:22) davin.baragiotta: déplacez-vous dans ce répertoire
  67 (11:24:40) davin.baragiotta: la première commande :
  68 git init
  69 (11:24:50) davin.baragiotta: oui... ça initialise un dépôt git
  70 (11:25:12) davin.baragiotta: (dans le terminal... quand vous tapez git... le programme git-core est appelé)
  71 (11:25:26) davin.baragiotta: 
  72 davin.baragiotta@u-db:~/atelier$ git init
  73 Initialized empty Git repository in /net/nfs-authnss.b.ca.auf/home/davin.baragiotta/atelier/.git/
  74 
  75 (11:25:43) davin.baragiotta: Git est explicite dans ses messages
  76 (11:25:50) davin.baragiotta: presque pas besoin d,atelier ;)
  77 (11:26:02) davin.baragiotta: un dépôt Git a été initialisé dans.... (path)
  78 (11:26:17) davin.baragiotta: et on voit que dans notre répertoire, il y a un répertoire caché
  79 (11:26:20) davin.baragiotta: .git/
  80 (11:26:23) davin.baragiotta: hmmmm....
  81 (11:26:28) davin.baragiotta: ouvre-le pour le plaisir
  82 (11:26:49) davin.baragiotta: on y voit toute sorte de trucs...
  83 (11:26:54) davin.baragiotta: notamment un fichier config
  84 (11:26:58) davin.baragiotta: retenez une chose...
  85 (11:27:03) davin.baragiotta: ce répertoire : .git/
  86 (11:27:11) davin.baragiotta: c'est TOUT votre dépôt
  87 (11:27:19) davin.baragiotta: le supprimer... c'est supprimer le suivi
  88 (11:27:40) davin.baragiotta: ce n'est pas comme avec SVN ou vous avez des répertoires .SVN partout
  89 (11:27:49) davin.baragiotta: là c'est tout propre : en un seul endroit
  90 (11:27:54) davin.baragiotta: des questions?
  91 (11:28:03) eric.mcsween: oui
  92 (11:28:08) eric.mcsween: frumence.boroto: QUESTION: peut être un peu prématuré ma question, mais je veux savoir si on doit travailler avec les droits d'administrateur ou non?
  93 (11:28:18) davin.baragiotta: non
  94 (11:28:44) davin.baragiotta: vous créer les dépo avec votre user
  95 (11:29:18) davin.baragiotta: je suis pas trop versé côté admin sys, le reste à voir avec JC et votre RTR... mais me semble que vous devez pas travailler en root
  96 (11:29:30) davin.baragiotta: et le sudo ici n'est pas nécessaire
  97 (11:29:50) davin.baragiotta: je continue
  98 (11:30:06) davin.baragiotta: on devrait tous avoir un dépôt git dans répertoire atelier
  99 (11:30:35) davin.baragiotta: toujours dans le répertoire atelier
 100 (11:30:44) davin.baragiotta: on va commencer à parler avec notre dépo local
 101 (11:30:52) davin.baragiotta: on va lui passer des commandes
 102 (11:30:57) davin.baragiotta: la commande magique à retenir :
 103 (11:31:00) davin.baragiotta: 
 104 git status
 105 (11:31:11) davin.baragiotta: 
 106 davin.baragiotta@u-db:~/atelier$ git status
 107 # On branch master
 108 #
 109 # Initial commit
 110 #
 111 nothing to commit (create/copy files and use "git add" to track)
 112 
 113 (11:31:13) davin.baragiotta: lisons
 114 (11:31:39) davin.baragiotta: on est sur la branche "master"... ah? (on y reviendra)
 115 (11:31:45) davin.baragiotta: Initial commit...
 116 (11:31:48) davin.baragiotta: commit...
 117 (11:31:59) davin.baragiotta: c'est la notion centrale d'un gestionnaire de version
 118 (11:32:08) davin.baragiotta: commit en anglais veut dire "engager"
 119 (11:32:23) niry.andriambelo a quitté le salon
 120 (11:32:31) davin.baragiotta: c'est des modifications qu'on s'engage à apporter aux fichiers
 121 (11:32:54) niry.andriambelo [niry.andriambelo@auf.org/AUF] a rejoint le salon.
 122 (11:33:06) davin.baragiotta: on s'engage : on dit "ça, je suis conscient d'avoir porté ces modifs... et je les veux"
 123 (11:33:18) davin.baragiotta: fianlement, dernière ligne du message :
 124 (11:33:48) davin.baragiotta: rien à commiter (à engager)... créer des fichiers (ou répertoires) et utilisez la commande git add pour les suivre
 125 (11:33:54) davin.baragiotta: c'est ce qu'on va faire ;)
 126 (11:34:08) davin.baragiotta: créez un fichier et un répertoire
 127 (11:34:12) davin.baragiotta: n'importe quoi
 128 (11:35:03) davin.baragiotta: n'hésitez pas à abuser de git status
 129 (11:35:10) davin.baragiotta: après création du contenu :
 130 (11:35:24) davin.baragiotta: 
 131 davin.baragiotta@u-db:~/atelier$ git status
 132 # On branch master
 133 #
 134 # Initial commit
 135 #
 136 # Untracked files:
 137 #   (use "git add <file>..." to include in what will be committed)
 138 #
 139 #       conf.py
 140 #       lib/
 141 nothing added to commit but untracked files present (use "git add" to track)
 142 
 143 (11:35:26) davin.baragiotta: ah!
 144 (11:35:28) davin.baragiotta: du nouveau
 145 (11:35:30) davin.baragiotta: lisons
 146 (11:35:41) davin.baragiotta: toujours branche master, toujours premier commit... ok
 147 (11:35:50) davin.baragiotta: ah des fichiers non suivis...
 148 (11:36:01) davin.baragiotta: conf.py et répertoire lib/
 149 (11:36:07) davin.baragiotta: (c'est ce que j'ai créé)
 150 (11:36:19) davin.baragiotta: il nous redit d'utiliser git add
 151 (11:36:23) davin.baragiotta: alors, allons-y
 152 (11:36:26) davin.baragiotta: git add .
 153 (11:36:30) davin.baragiotta: (avec un point)
 154 (11:36:38) chanesakhone.chitsaya a quitté le salon
 155 (11:36:45) davin.baragiotta: je passe rien dans terminal...
 156 (11:36:48) davin.baragiotta: étrange?
 157 (11:36:52) davin.baragiotta: voyons voir git status
 158 (11:37:03) davin.baragiotta: 
 159 davin.baragiotta@u-db:~/atelier$ git add .
 160 davin.baragiotta@u-db:~/atelier$ git status
 161 # On branch master
 162 #
 163 # Initial commit
 164 #
 165 # Changes to be committed:
 166 #   (use "git rm --cached <file>..." to unstage)
 167 #
 168 #       new file:   conf.py
 169 #       new file:   lib/script.py
 170 #
 171 
 172 (11:37:16) davin.baragiotta: ah... master... initial commit... mais :
 173 (11:37:26) davin.baragiotta: il y a des changements à commité
 174 (11:37:37) davin.baragiotta: les changements sont :
 175 (11:37:53) davin.baragiotta: conf.py et lib/script.py sont des nouveaux fichiers
 176 (11:38:05) davin.baragiotta: qu'est-ce qui s'est passé?
 177 (11:38:09) davin.baragiotta: Git est respectueux
 178 (11:38:22) davin.baragiotta: Git ne suit que ce que vous lui dites de suivre
 179 (11:38:40) davin.baragiotta: il a un index des choses qu'il doit surveiller
 180 (11:38:46) chanesakhone.chitsaya [chanesakhone.chitsaya@auf.org/Home] a rejoint le salon.
 181 (11:39:04) davin.baragiotta: surveiller pour détecter les modifs... surveiller pour vous demander d'engager les changements (commiter)
 182 (11:39:20) davin.baragiotta: git add : ajout des fichiers (ou répertoires) dans l'index à suivre
 183 (11:39:22) davin.baragiotta: inversement
 184 (11:39:28) davin.baragiotta: git rm les enlève
 185 (11:39:51) davin.baragiotta: avec le point à la fin, ça veut dire "tous (les fichiers)" : git add .
 186 (11:40:06) davin.baragiotta: on a donc ajouté à l'index de Git tous les fichiers nouvellement créés
 187 (11:40:12) davin.baragiotta: ok
 188 (11:40:21) davin.baragiotta: revenons au message
 189 (11:40:32) davin.baragiotta: Changes to be committed
 190 (11:40:43) davin.baragiotta: Changements à engager (traduction libre)
 191 (11:40:54) davin.baragiotta: c'est donc qu'il nous reste plus qu'à "faire le commit"...
 192 (11:40:58) davin.baragiotta: "commiter"
 193 (11:41:04) davin.baragiotta: (en mauvais français)
 194 (11:41:33) davin.baragiotta: commande pour "commiter" : git commit -a -m "message du commit"
 195 (11:41:39) davin.baragiotta: allons-y
 196 (11:41:47) davin.baragiotta: sans oublier les paramètres -a -m
 197 (11:42:57) davin.baragiotta: 
 198 davin.baragiotta@u-db:~/atelier$ git commit -a -m "mon premier commit local, yéééééééé"
 199 [master (root-commit) 789760e] mon premier commit local, yéééééééé
 200  Author: Davin Baragiotta <davin.baragiotta@auf.org>
 201  0 files changed, 0 insertions(+), 0 deletions(-)
 202  create mode 100644 conf.py
 203  create mode 100644 lib/script.py
 204 
 205 (11:43:04) davin.baragiotta: lisons
 206 (11:43:22) davin.baragiotta: master... ah c'est la branche de tout à l'heure (on va y revenir)
 207 (11:43:47) davin.baragiotta: root-commit... comprendre que c'est LE commit initial... le big bang quoi... avant y'a rien
 208 (11:44:20) davin.baragiotta: 789760e = premiers caractères du hash qui sert d'identifiant unique au commit... c'est utile de savoir (quand on en a besoin)
 209 (11:44:35) davin.baragiotta: le reste c'est mon message... c'est pour les humains...
 210 (11:44:44) davin.baragiotta: finalement on a l'auteur
 211 (11:45:13) davin.baragiotta: et des traces un peu plus cryptique de ce qui s'est passé (à explorer si ça vous intéresse)
 212 (11:45:51) davin.baragiotta: si votre "Auteur" n'est pas bien formatté, faites une recherche sur la config globale de votre clé SSH (de mémoire)
 213 (11:46:31) davin.baragiotta: ah non... de config globale de votre git sur votre machine :
 214 (11:46:44) davin.baragiotta: dans votre home, un fichier nommé :
 215 .gitconf
 216 (11:46:53) davin.baragiotta: contenu :
 217 [user]
 218         name = Davin Baragiotta
 219         email = davin.baragiotta@auf.org
 220 (11:46:59) davin.baragiotta: on ne s'y attarde pas plus
 221 (11:47:04) davin.baragiotta: bon ça va bien
 222 (11:47:12) davin.baragiotta: on a fait un premier commit en local :D
 223 (11:47:17) eric.mcsween: précision: le fichier s'appelle .gitconfig
 224 (11:47:27) davin.baragiotta: ahaha : tout à fait
 225 (11:47:35) davin.baragiotta: ça me crève les yeux!
 226 (11:47:45) davin.baragiotta: retour au plan de match sur notre page web :
 227 (11:47:51) davin.baragiotta: http://wiki.auf.org/wikiteki/Ateliers/Git/Support
 228 (11:48:16) davin.baragiotta: on veut maintenant "voir" le résultat de notre commit... dans l'historique de notre versionnage
 229 (11:48:20) shafeek.sumser: REMARQUE: .git/config
 230 (11:48:22) claudine.mosozi a quitté le salon
 231 (11:48:42) davin.baragiotta: shafeek.sumser: non, ça c'est pas ton répertoire de projet, sauf erreur...
 232 (11:48:48) davin.baragiotta: pas ta config globale dans ton home
 233 (11:49:20) davin.baragiotta: nouvelle commande :
 234 (11:49:21) davin.baragiotta: git log
 235 (11:49:34) davin.baragiotta: comme son nom indique... c'est le journal de nos modifs
 236 (11:49:50) davin.baragiotta: nos modifs... sont consignées dans des commits... donc c'est le log de nos commits
 237 (11:50:02) davin.baragiotta: 
 238 davin.baragiotta@u-db:~/atelier$ git log
 239 commit 789760e857a17623fc632233fef26a2dea0270e8
 240 Author: Davin Baragiotta <davin.baragiotta@auf.org>
 241 Date:   Mon Aug 27 11:42:50 2012 -0400
 242 
 243     mon premier commit local, yéééééééé
 244 
 245 (11:50:05) davin.baragiotta: lisons
 246 (11:50:18) davin.baragiotta: tiens, on voit le hash au complet (id du commit ;) )
 247 (11:50:28) davin.baragiotta: Auteur, date... message... c,est bon!
 248 (11:50:57) davin.baragiotta: ok, une autre approche intéressante, pour visualiser (vraiment) l'historique des modifs :
 249 (11:50:58) davin.baragiotta: gitk
 250 (11:51:04) davin.baragiotta: gitk c'est un autre programme
 251 (11:51:18) davin.baragiotta: il utilise les données de git, pour les représenter visuellement
 252 (11:51:23) davin.baragiotta: lancez gitk
 253 (11:51:53) davin.baragiotta: ce qui est intéressant, à mon sens, c'est la visualisation en haut à gauche
 254 (11:51:59) davin.baragiotta: on voit un point (jaune)
 255 (11:52:37) davin.baragiotta: ça représente notre commit... un point dans le temps... une version particulière du contenu du répertoire "atelier"
 256 (11:52:51) davin.baragiotta: à côté... on voit une "étiquette" verte... avec le nom master
 257 (11:53:14) davin.baragiotta: en gros, ça montre que "master" est rendu là... master est "à ce commit"....
 258 (11:53:30) davin.baragiotta: la version la plus à jour de master... c'est le commit "mon premier commit local..."
 259 (11:53:50) davin.baragiotta: plus précisément... le commit 789760e...
 260 (11:53:59) davin.baragiotta: toujours dans gitk
 261 (11:54:10) davin.baragiotta: on voit en bas le hash : Id SHA1
 262 (11:54:27) davin.baragiotta: et d'autres infos dans le panneau de gauche
 263 (11:54:34) davin.baragiotta: (ressemble beaucoup au log ;)
 264 (11:54:58) davin.baragiotta: fermez gitk
 265 (11:55:19) davin.baragiotta: on vient de terminer les commandes utiles en local
 266 (11:55:24) davin.baragiotta: en gros, c,est ça git
 267 (11:55:34) davin.baragiotta: il nous reste à voir des commandes particulières pour :
 268 (11:55:42) davin.baragiotta: 1. échanger avec le serveur
 269 (11:55:53) davin.baragiotta: 2. utiliser des branches
 270 (11:56:01) davin.baragiotta: des questions?
 271 (11:56:16) shafeek.sumser: non ça va
 272 (11:56:30) eric.mcsween: non, pas de questions
 273 (11:56:36) davin.baragiotta: ok super...
 274 (11:56:44) davin.baragiotta: INTERFACE WEB DU SERVEUR
 275 (11:56:50) claudine.mosozi [claudine.mosozi@auf.org/Bureau] a rejoint le salon.
 276 (11:56:58) davin.baragiotta: allons faire un tour dans le domaine de moussa et de JC
 277 (11:57:09) davin.baragiotta: http://git.auf.org/
 278 (11:57:23) davin.baragiotta: le dépôt AUF de nos projets Git
 279 (11:57:50) davin.baragiotta: on dit projet... mais c'est une liste des "dépots Git"... peu importe leur contenu
 280 (11:58:02) davin.baragiotta: on a des dépôts persos
 281 (11:58:15) davin.baragiotta: des dépôts relatifs aux Infrastructures techniques
 282 (11:58:28) davin.baragiotta: les dépôts des sources des Systèmes d'information
 283 (11:58:34) davin.baragiotta: presque tout est là
 284 (11:58:45) davin.baragiotta: tout devrait y être (pour les sources des SI, en tout cas ;) )
 285 (11:58:57) davin.baragiotta: nous allons nous concentrer sur un projet bidon :
 286 (11:59:00) davin.baragiotta: esapce-formation.git
 287 (11:59:07) davin.baragiotta: espace-formation.git, dis-je
 288 (11:59:20) davin.baragiotta: http://git.auf.org/?p=espace-formation.git;a=summary
 289 (11:59:34) davin.baragiotta: on a là, un gitk version web
 290 (11:59:49) davin.baragiotta: (un peu moins puissant dans la représentation graphique... on y reviendra)
 291 (11:59:59) davin.baragiotta: regardons un peu ce qu'on peut y voir
 292 (12:00:05) davin.baragiotta: shortlog
 293 (12:00:15) davin.baragiotta: c'est la liste des commits fait dans le dépôt
 294 (12:00:22) davin.baragiotta: on voit l'étiquette verte... ahaha
 295 (12:00:25) eddy.andriamanantena a quitté le salon
 296 (12:00:35) davin.baragiotta: on voit donc le commit où "master est rendu"
 297 (12:00:40) davin.baragiotta: sa dernière version
 298 (12:01:01) davin.baragiotta: on voit que Davin a fait ce commit, il y a 5 heures...
 299 (12:01:13) davin.baragiotta: cliquons sur le lien à droite "commit"
 300 (12:01:30) davin.baragiotta: encore de l'info qui ressemble au log... à ce qu'on a dans gitk
 301 (12:01:46) davin.baragiotta: commit = 58a91d
 302 (12:02:31) davin.baragiotta: rappel : les sources qu'on regarde... dans espace-formation.git... n'ont *aucun* rapport avec votre dépôt git créé en local pour "atelier"
 303 (12:02:39) davin.baragiotta: vous pouvez même supprimer le répertoire "atelier"
 304 (12:02:50) davin.baragiotta: c'était juste pour amorcer un dépôt en local (git init)
 305 (12:02:57) davin.baragiotta: et explorer les commandes de base
 306 (12:03:10) davin.baragiotta: (on va les refaire, croyez moi ;) )
 307 (12:03:13) davin.baragiotta: ok
 308 (12:03:19) davin.baragiotta: de retour sur la page web
 309 (12:03:31) davin.baragiotta: on voit :
 310 (12:03:43) davin.baragiotta: cedric.txt [deleted file]
 311 (12:03:52) davin.baragiotta: (je suis ici : http://git.auf.org/?p=espace-formation.git;a=commit;h=58a91d3ca8687d30c405078c91ff9816ea9d6ac4)
 312 (12:04:06) davin.baragiotta: en un coup d'oeil...
 313 (12:04:22) davin.baragiotta: on voit *toutes* les modifications faites à l'arborescence
 314 (12:04:28) davin.baragiotta: je précise ici un truc :
 315 (12:04:35) davin.baragiotta: quand vous créez un dépôt git
 316 (12:04:50) davin.baragiotta: git suit *tout* ce qu'il y a en dessous
 317 (12:05:00) davin.baragiotta: sauf ce que vous lui dites explicitement d'ignorer
 318 (12:05:08) davin.baragiotta: (on va y revenir)
 319 (12:05:17) davin.baragiotta: non tiens... maintenant :
 320 (12:05:33) davin.baragiotta: on déclare ce que git doit ignorer dans un fichier caché
 321 (12:05:40) davin.baragiotta: nommé : .gitignore
 322 (12:06:09) davin.baragiotta: on voit un exemple complet qu'on utilise dans nos projets SI
 323 (12:06:15) davin.baragiotta: dans la doc sur wikiteki :
 324 (12:06:15) davin.baragiotta: http://wiki.auf.org/wikiteki/Git/D%C3%A9veloppeur
 325 (12:06:22) davin.baragiotta: http://wiki.auf.org/wikiteki/Git/D%C3%A9veloppeur#Ignorer_des_fichiers_ou_des_dossiers
 326 (12:06:33) davin.baragiotta: # = commentaire
 327 (12:06:41) davin.baragiotta: le reste = les règles pour ignorer
 328 (12:06:49) davin.baragiotta: notamment, on peut voir : conf.py
 329 (12:07:05) davin.baragiotta: c'est là qu,on met nos paramètres d'accès à la base de données...
 330 (12:07:21) davin.baragiotta: on *ne veut pas* que nos paramètres d'accès se retrouvent dans notre dépôt
 331 (12:07:29) davin.baragiotta: lisible par tous
 332 (12:07:34) davin.baragiotta: donc on l'ignore
 333 (12:07:52) davin.baragiotta: bien sûr que le fichier *doit* exister pour que nos applications fonctionnent...
 334 (12:08:17) davin.baragiotta: ... seulement : c'est pas le problème de Git que de suivre ce fichier, c'est notre problème à nous, humains (car on le veut bien)
 335 (12:08:24) davin.baragiotta: autre exemple de fichiers qu'on ignore
 336 (12:08:30) davin.baragiotta: dans le système RH
 337 (12:08:39) davin.baragiotta: des évaluations du personnel, par exemple
 338 (12:08:59) davin.baragiotta: les évaluations en PDF qui sont chargées (uploadées) sur le serveur... dans nos sources...
 339 (12:09:05) davin.baragiotta: on ne veut pas qu'elles soient suivies
 340 (12:09:25) davin.baragiotta: (en général, tous les uploads ne sont pas suivis... c'est comme du contenu de la DB)
 341 (12:09:44) davin.baragiotta: donc on va dire que le répertoire où sont les uploads ne'est pas suivi
 342 (12:09:52) davin.baragiotta: si vous voulez tester
 343 (12:10:22) davin.baragiotta: ajoutez .gitignore dans "atelier" (si vous ne l'avez pas supprimé :-/ )
 344 (12:10:34) davin.baragiotta: copiez le contenu du fichier de la documentation
 345 (12:10:47) davin.baragiotta: et tester avec un conf.py dans votre arborescence
 346 (12:10:51) davin.baragiotta: donc
 347 (12:11:06) davin.baragiotta: à part les exceptions dans .gitignore...
 348 (12:11:36) davin.baragiotta: git suit *toute* l'arborescence *sous* le répertoire root (où .git/ est)
 349 (12:11:43) davin.baragiotta: voilà c'est important :
 350 (12:11:58) davin.baragiotta: cette arborescence.... c'est le "tree" des fichiers
 351 (12:12:12) davin.baragiotta: retournons sur le web
 352 (12:12:21) davin.baragiotta: explorer le dépo communt de espace-formation
 353 (12:12:28) davin.baragiotta: avant de tous commiter dedans ;)
 354 (12:12:36) davin.baragiotta: nous étions dans un commit particulier
 355 (12:12:41) davin.baragiotta: http://git.auf.org/?p=espace-formation.git;a=commit;h=58a91d3ca8687d30c405078c91ff9816ea9d6ac4
 356 (12:13:04) davin.baragiotta: à côté du fichier "cedric.txt" qui a été supprimé par ce commit... on voit blob
 357 (12:13:07) davin.baragiotta: cliquez
 358 (12:13:28) davin.baragiotta: ça... c'est le contenu du fichier avant sa suppression...
 359 (12:13:34) davin.baragiotta: (retour en arrière)
 360 (12:13:43) davin.baragiotta: autre lien : history
 361 (12:13:46) davin.baragiotta: intéressant!
 362 (12:14:10) davin.baragiotta: on voit toute l'histoire du fichier cedric.txt dans le dépôt espace-formation.git
 363 (12:14:16) davin.baragiotta: ce n'est pas rien!!!!
 364 (12:14:37) davin.baragiotta: on voit *chaque* commit qui a modifié, ajouté ou supprimé ce fichier!!!
 365 (12:14:58) abrosine2 a quitté le salon
 366 (12:14:59) davin.baragiotta: le premier, lors de l'ajout : "Ajout fichier cedric"
 367 (12:15:24) abrosine2 [abrosine2@gmail.com/D9E338DB] a rejoint le salon.
 368 (12:15:28) davin.baragiotta: les liens commitdiff permettent même d'explorer les modifications exactes faites entre chaque version!!!!
 369 (12:15:30) davin.baragiotta: :D
 370 (12:15:35) davin.baragiotta: puissant!
 371 (12:15:50) davin.baragiotta: retournons à la page d'accueil du projet et ensuite collaborons
 372 (12:15:55) davin.baragiotta: http://git.auf.org/?p=espace-formation.git;a=summary
 373 (12:16:05) davin.baragiotta: en bas complètement de la page
 374 (12:16:09) davin.baragiotta: on voit "heads"
 375 (12:16:19) davin.baragiotta: ce sont les "têtes" de chaque branche....
 376 (12:16:25) davin.baragiotta: on parle des branche bientôt
 377 (12:16:47) davin.baragiotta: ko l'heure est grave... nous allons cloner ce dépôt pour qu'on collabore tous dessus :D
 378 (12:16:52) davin.baragiotta: avant : des questions?
 379 (12:16:52) doan.manh.ha a quitté le salon
 380 (12:17:11) eric.mcsween: pas de questions
 381 (12:17:15) davin.baragiotta: je continue
 382 (12:17:25) davin.baragiotta: http://wiki.auf.org/wikiteki/Ateliers/Git/Support
 383 (12:17:34) davin.baragiotta: VERSIONNER SUR SERVEUR
 384 (12:17:53) davin.baragiotta: clonez le dépôt en local... sur votre home directement, par exemple
 385 (12:17:56) davin.baragiotta: (ou ailleurs) :
 386 (12:18:22) davin.baragiotta: (je saute la partie ou on transfère un dépôt local sur le serveur)
 387 (12:18:29) davin.baragiotta: git clone ssh://gitosis@git.auf/espace-formation
 388 (12:18:54) davin.baragiotta: faire signe dans salon tech si vous avez des probl lors du clone
 389 (12:19:26) davin.baragiotta: vous devriez voir :
 390 (12:19:28) davin.baragiotta: 
 391 davin.baragiotta@u-db:~$ git clone ssh://gitosis@git.auf/espace-formation
 392 Initialized empty Git repository in /net/nfs-authnss.b.ca.auf/home/davin.baragiotta/espace-formation/.git/
 393 remote: Counting objects: 1178, done.
 394 remote: Compressing objects: 100% (1082/1082), done.
 395 remote: Total 1178 (delta 441), reused 254 (delta 38)
 396 Receiving objects: 100% (1178/1178), 1.48 MiB, done.
 397 Resolving deltas: 100% (441/441), done.
 398 
 399 (12:19:57) davin.baragiotta: on voit qu'un dépôt git a été initialisé dans le répertoire "espace-formation"
 400 (12:20:05) davin.baragiotta: tout est ok, pas de probl?
 401 (12:20:21) davin.baragiotta: je continue
 402 (12:20:27) davin.baragiotta: déplacez-vous dans ce répertoire
 403 (12:20:59) davin.baragiotta: 
 404 davin.baragiotta@u-db:~$ cd espace-formation/
 405 davin.baragiotta@u-db:~/espace-formation$ ls -l
 406 total 8
 407 drwxrwx--- 5 davin.baragiotta users 4096 2012-08-27 12:19 bmo_repertoire
 408 drwxrwx--- 9 davin.baragiotta users 4096 2012-08-27 12:19 super_beco
 409 
 410 (12:21:11) davin.baragiotta: évidemment, le répertoire n'est pas vide!"
 411 (12:21:13) eric.mcsween: oh... il y a des problèmes de clone
 412 (12:21:19) davin.baragiotta: ach.
 413 (12:21:49) davin.baragiotta: tout le monde est dans le RPV?
 414 (12:22:10) shafeek.sumser: moi non
 415 (12:22:19) davin.baragiotta: ah.
 416 (12:22:37) niry.andriambelo a quitté le salon
 417 (12:22:41) davin.baragiotta: c'est plus compliqué hors RPV, mais possible... ce ne sera pas couvert ici
 418 (12:22:46) thierry.tsitoara: moi non plus
 419 (12:22:51) davin.baragiotta: (on pourra reprendre ensemble au besoin)
 420 (12:23:14) davin.baragiotta: je laisse eric.mcsween faire le support dans tech, sauf si personne ne peut plus suivre :-/
 421 (12:23:48) davin.baragiotta: nous avons donc (la plupart d'entre nous), un dépôt espace-formation
 422 (12:23:57) davin.baragiotta: l'idée = contribuer à ce projet (bidon)
 423 (12:24:13) davin.baragiotta: nous allons modifier l'arborescence et mettre nos contributions sur le serveur
 424 (12:24:32) davin.baragiotta: (via SSH... d'où le besoin des clés : pour vous permettre l'accès en écriture)
 425 (12:24:34) davin.baragiotta: PROCESSUS DE VERSIONNAGE
 426 (12:24:50) niry.andriambelo [niry.andriambelo@auf.org/AUF] a rejoint le salon.
 427 (12:24:51) davin.baragiotta: premier réflexe : git status
 428 (12:25:01) davin.baragiotta: 
 429 davin.baragiotta@u-db:~/espace-formation$ git status
 430 # On branch master
 431 nothing to commit (working directory clean)
 432 
 433 (12:25:15) davin.baragiotta: tout est propre... rien à commiter (car rien de modifié)
 434 (12:25:30) davin.baragiotta: créez un fichier nommé avec votre prénom
 435 (12:25:33) davin.baragiotta: ex.: davin.txt
 436 (12:25:45) davin.baragiotta: arnaud.txt
 437 (12:26:00) davin.baragiotta: mettez-y le contenu vuolu (ou pas)...
 438 (12:26:03) davin.baragiotta: git status?
 439 (12:26:39) davin.baragiotta: 
 440 davin.baragiotta@u-db:~/espace-formation$ git status
 441 # On branch master
 442 # Untracked files:
 443 #   (use "git add <file>..." to include in what will be committed)
 444 #
 445 #       davin.txt
 446 nothing added to commit but untracked files present (use "git add" to track)
 447 
 448 (12:27:05) davin.baragiotta: en suite? eh bien... on lit ce que Git nous dit... et on est en local... on fait comme tout à l'heure
 449 (12:27:09) eric.mcsween: davin, prends peut-être un petit 2 minutes de pause, histoire de permettre à ceux qui n'étaient pas dans le RPV de nous rattraper
 450 (12:27:18) eric.mcsween: Ils ont cloné, mais en lecture seulement.
 451 (12:27:30) davin.baragiotta: la seule différence c'est que ce dépôt existe aussi sur le serveur ET sur tous vos postes
 452 (12:27:48) davin.baragiotta: eric.mcsween: ok... mais hors RPV, faut toctoctoc.sh pour pousser...
 453 (12:28:24) davin.baragiotta: donc hors RPV, c'est en dehors de l'atelier (à mois que tu n'aies tout ce qu'il faut pour leur donner...)
 454 (12:28:49) davin.baragiotta: l,atelier sera repris mercredi à 02h00 GMT : si vous pouvez être dans le RPV à ce moment là....
 455 (12:28:59) davin.baragiotta: je continue car le temps file
 456 (12:29:07) eric.mcsween: ok.
 457 (12:29:22) davin.baragiotta: on reprend donc simplement le processus normal de versionnage
 458 (12:29:31) davin.baragiotta: http://wiki.auf.org/wikiteki/Ateliers/Git/Support
 459 (12:29:40) davin.baragiotta: -> PROCESSUS DE VERSIONNAGE
 460 (12:29:46) davin.baragiotta: git status
 461 (12:29:52) davin.baragiotta: git pull ; c'est une nouveauté
 462 (12:30:02) davin.baragiotta: ça, ça veut dire "tirer"
 463 (12:30:11) davin.baragiotta: tirer la versino la plus à jour du serveur
 464 (12:30:22) davin.baragiotta: 
 465 davin.baragiotta@u-db:~/espace-formation$ git pull
 466 Already up-to-date.
 467 
 468 (12:30:37) davin.baragiotta: je suis déjà à jour... normal, on vient de cloner...
 469 (12:30:46) davin.baragiotta: donc on continue :
 470 (12:30:49) davin.baragiotta: git add .
 471 (12:30:55) davin.baragiotta: git commit ....
 472 (12:31:17) davin.baragiotta: 
 473 davin.baragiotta@u-db:~/espace-formation$ git add .
 474 davin.baragiotta@u-db:~/espace-formation$ git commit -a -m 'davin contribue au projet'
 475 [master 0366cef] davin contribue au projet
 476  Author: Davin Baragiotta <davin.baragiotta@auf.org>
 477  1 files changed, 1 insertions(+), 0 deletions(-)
 478  create mode 100644 davin.txt
 479 
 480 (12:31:56) davin.baragiotta: finalement, on peut pousser notre commit sur le serveur :
 481 (12:32:26) davin.baragiotta: ahaha... un plus rapide que mois avait poussé!
 482 (12:32:31) davin.baragiotta: alors j'explique :
 483 (12:32:56) davin.baragiotta: 
 484 davin.baragiotta@u-db:~/espace-formation$ git push
 485 To ssh://gitosis@git.auf/espace-formation
 486  ! [rejected]        master -> master (non-fast-forward)
 487 error: failed to push some refs to 'ssh://gitosis@git.auf/espace-formation'
 488 To prevent you from losing history, non-fast-forward updates were rejected
 489 Merge the remote changes before pushing again.  See the 'Note about
 490 fast-forwards' section of 'git push --help' for details.
 491 davin.baragiotta@u-db:~/espace-formation$ git push origin master
 492 To ssh://gitosis@git.auf/espace-formation
 493  ! [rejected]        master -> master (non-fast-forward)
 494 error: failed to push some refs to 'ssh://gitosis@git.auf/espace-formation'
 495 To prevent you from losing history, non-fast-forward updates were rejected
 496 Merge the remote changes before pushing again.  See the 'Note about
 497 fast-forwards' section of 'git push --help' for details.
 498 davin.baragiotta@u-db:~/espace-formation$ git pull
 499 remote: Counting objects: 4, done.
 500 remote: Compressing objects: 100% (2/2), done.
 501 remote: Total 3 (delta 0), reused 0 (delta 0)
 502 Unpacking objects: 100% (3/3), done.
 503 From ssh://git.auf/espace-formation
 504    58a91d3..0e7b208  master     -> origin/master
 505 Merge made by recursive.
 506  niry.txt |    1 +
 507  1 files changed, 1 insertions(+), 0 deletions(-)
 508  create mode 100644 niry.txt
 509 davin.baragiotta@u-db:~/espace-formation$ git push
 510 Counting objects: 7, done.
 511 Delta compression using up to 2 threads.
 512 Compressing objects: 100% (4/4), done.
 513 Writing objects: 100% (5/5), 552 bytes, done.
 514 Total 5 (delta 2), reused 0 (delta 0)
 515 To ssh://gitosis@git.auf/espace-formation
 516    0e7b208..6bb2dc3  master -> master
 517 
 518 (12:33:06) davin.baragiotta: wowo... c'est beaucoup
 519 (12:33:26) davin.baragiotta: mais : j'ai assayé de faire un push... c'est à dire pousser mes modifications sur le serveur
 520 (12:33:29) davin.baragiotta: la commande est :
 521 (12:33:31) davin.baragiotta: git push
 522 (12:33:41) davin.baragiotta: j'ai eu une erreur :(
 523 (12:34:10) davin.baragiotta: j'ai réessayé en étant plus explicite (erreur de config?) :
 524 git push origin master
 525 (12:34:18) davin.baragiotta: erreur... :(
 526 (12:34:45) davin.baragiotta: typiquement c'est INTERDIT de pousser (push) un commit si tu n'est pas à jour avec le serveur
 527 (12:34:57) davin.baragiotta: donc je devais être PAS à jour
 528 (12:35:04) davin.baragiotta: j'ai refait un git pull
 529 (12:35:17) davin.baragiotta: et effectivement ça a télécahrgé du contenu!!!!
 530 (12:35:28) davin.baragiotta: donc quelqu'un m'a pris de vitesse!!!!
 531 (12:35:40) davin.baragiotta: finalement, j'ai pu faire un 
 532 git push
 533 (12:35:45) davin.baragiotta: sans problème....!
 534 (12:35:59) davin.baragiotta: alors, tous, essayez de faire un push...
 535 (12:36:02) davin.baragiotta: on est beaucoup
 536 (12:36:09) davin.baragiotta: si vous avez une erreur : 
 537 (12:36:20) davin.baragiotta: essayez de refaire un pull
 538 (12:36:54) davin.baragiotta: en attendant, pour s,amuser, on va aller voir ce qui se passe sur le serveur :
 539 (12:37:01) davin.baragiotta: http://git.auf.org/?p=espace-formation.git;a=summary
 540 (12:37:24) davin.baragiotta: c'est victor.bruneau qui m'a pris de vitesse!!!!
 541 (12:37:27) davin.baragiotta: rahlala!
 542 (12:37:37) davin.baragiotta: on attend vos commits tout le monde ;)
 543 (12:37:40) davin.baragiotta: des questions?
 544 (12:37:47) davin.baragiotta: git pull
 545 (12:37:49) davin.baragiotta: git push
 546 (12:38:05) abrosine2 a quitté le salon
 547 (12:38:33) davin.baragiotta: actuellement, davin.baragiotta et victor.bruneau on pusher...
 548 (12:38:35) davin.baragiotta: on vous attend...
 549 (12:38:46) davin.baragiotta: *ont pushé
 550 (12:38:56) davin.baragiotta: arnaud.amelina@auf.org: ?
 551 (12:39:06) davin.baragiotta: balla.fall: ?
 552 (12:40:16) davin.baragiotta: aaaah, exact! victor.bruneau me faisait remarquer que c'est niry.andriambelo qui m,a pris de vitesse
 553 (12:40:25) davin.baragiotta: nous sommes donc 3 à avoir commité
 554 (12:40:45) davin.baragiotta: wow, ok... on a un user "Coda"
 555 (12:41:04) davin.baragiotta: 4 à avoir commité... merci franck.kouyami ;)
 556 (12:41:21) davin.baragiotta: tout le monde dort?
 557 (12:41:47) eric.mcsween: la plupart des gens n'ont pas pu puller au début, ils sont donc en train de se rattraper.
 558 (12:41:53) chamback.pierre [chamback.pierre@auf.org/171101896134674130143882] a rejoint le salon.
 559 (12:41:54) davin.baragiotta: ah ok
 560 (12:42:18) balla.fall: j'ai une coupure depuis ce matin
 561 (12:42:38) balla.fall: je fais des aller retour
 562 (12:42:47) chanesakhone.chitsaya a quitté le salon
 563 (12:43:22) eric.mcsween: franck.kouyami: [Question] cela peut sembler bête, mais quelle est le diff entre pull et push ..?
 564 (12:43:28) davin.baragiotta: quelle est la différence entre pull et push :
 565 (12:43:37) davin.baragiotta: pull = tirer, push = pousser
 566 (12:43:40) davin.baragiotta: ce sont les contraire
 567 (12:43:56) davin.baragiotta: donc dans un cas, on "tire les données du serveur vers notre dépôt local"
 568 (12:44:11) davin.baragiotta: dans l'autre cas, on "pousse les données du local vers le serveur"
 569 (12:44:16) claudine.mosozi a quitté le salon
 570 (12:44:29) davin.baragiotta: ok il me reste 15 minutes
 571 (12:44:54) davin.baragiotta: combien sont dans le coup?
 572 (12:45:15) davin.baragiotta: bon, j'ai aucun autre push nouveau... 4 m'incluant... pas cool...
 573 (12:45:31) davin.baragiotta: je propose de continuer un survol du contenu formel, pour voir ce qui resterait à couvrir
 574 (12:45:42) davin.baragiotta: ensuite, on reste ensemble pour ceux qui ont le courage
 575 (12:45:52) davin.baragiotta: (aucun autre atelier ne suit après celui-ci)
 576 (12:46:05) davin.baragiotta: j'accepte ma proposition ;)
 577 (12:46:17) davin.baragiotta: reprenons donc le plan de l,atelier :
 578 (12:46:23) davin.baragiotta: http://wiki.auf.org/wikiteki/Ateliers/Git/Support
 579 (12:46:33) davin.baragiotta: on vient de couvrir : PROCESSUS DE VERSIONNAGE
 580 (12:46:36) davin.baragiotta: c'est tout
 581 (12:46:39) davin.baragiotta: c'est ça git :
 582 (12:46:44) davin.baragiotta: à longueur de journée :
 583 (12:47:22) davin.baragiotta: 
 584 git status
 585 édition
 586 git add / git rm
 587 git commit
 588 git pull
 589 git push
 590 (12:47:35) davin.baragiotta: maintenant... dans la vie... il y a des conflits
 591 (12:47:57) davin.baragiotta: je voulais avec vous créer ces conflits dans
 592 (12:48:04) davin.baragiotta: EXERCICE TRAVAIL COLLABORATIF
 593 (12:48:10) davin.baragiotta: le principe est simple :
 594 (12:48:33) davin.baragiotta: quand on fait git pull et qu'on récupère les données du serveur pour les importer en local...
 595 (12:48:56) davin.baragiotta: ... git essaie *automatiquement* des les fusionner (merge) avec notre commit qu'on vient de faire
 596 (12:49:32) davin.baragiotta: ex.: si on ajoute chacun un nouveau fichier de notre côté... facile... git les "ajoute tous automatiquement"
 597 (12:49:41) davin.baragiotta: il fait un "merge" automatique
 598 (12:49:45) davin.baragiotta: merge = fusion
 599 (12:50:00) davin.baragiotta: mais si on modifie un même fichier...??
 600 (12:50:28) davin.baragiotta: git *peut* réussir seul à faire un merge automatique aussi quand on modifie même fichier
 601 (12:50:35) davin.baragiotta: mais il peut échouer aussi :
 602 (12:50:42) davin.baragiotta: par exemple, si on modifie la même ligne...
 603 (12:51:05) davin.baragiotta: normal : quelle ligne sera la meilleure, la mienne, celle de niry, celle de frnack, celle de victor?
 604 (12:51:14) davin.baragiotta: (non... pas nécessairement celle de victor.bruneau ;) )
 605 (12:51:18) davin.baragiotta: donc...
 606 (12:51:30) davin.baragiotta: si git échoue à faire un merge "automatique"...
 607 (12:51:42) davin.baragiotta: ... nous devons faire ce merge "manuellement"
 608 (12:51:53) davin.baragiotta: concrètement, git nous liste les fichiers problématiques
 609 (12:52:14) davin.baragiotta: en les ouvrant : vous voyez les 2 versions en conflit... séparées par >>>>>>>>>>>>>>>>>>>>>
 610 (12:52:23) davin.baragiotta: à vous de choisir quel sera le code final
 611 (12:52:39) davin.baragiotta: et commiter votre merge manuel... votre règlement du conflit
 612 (12:52:44) davin.baragiotta: pour finir
 613 (12:52:55) davin.baragiotta: une partie intéressante
 614 (12:52:56) davin.baragiotta: simple
 615 (12:53:13) davin.baragiotta: mais vraiment pas obligatoire pour utiliser git dans son travail quotidien :
 616 (12:53:18) davin.baragiotta: ce sont les BRANCHES
 617 (12:53:28) davin.baragiotta: un simple mot :
 618 (12:53:37) davin.baragiotta: les branches, comme dans les branches d'un arbre
 619 (12:53:48) davin.baragiotta: partent du "tronc" commun...
 620 (12:54:09) davin.baragiotta: la branche elle-même... c'est une série de commit sur une ligne (la branche elle-même)
 621 (12:54:24) davin.baragiotta: la branche à une feuille au bout... à la tête de la branche... c'est le HEAD
 622 (12:54:36) davin.baragiotta: le HEAD c'est le commit le plus à jour de la branche
 623 (12:54:47) davin.baragiotta: c'est celui qui a l'étiquette verte avec le nom de la branche...
 624 (12:54:56) davin.baragiotta: mais... voyons voir concrètement de quoi on parle
 625 (12:55:05) davin.baragiotta: dans espace-formation/
 626 (12:55:14) davin.baragiotta: lancez 
 627 gitk --all
 628 (12:55:50) davin.baragiotta: en faisant défiler... on voit plein de lignes de couleurs
 629 (12:56:07) davin.baragiotta: qui en bas complètement du graphe, sont nées du même commit originel
 630 (12:56:10) davin.baragiotta: du commit root
 631 (12:56:14) davin.baragiotta: du commit racine!
 632 (12:56:44) davin.baragiotta: il est nommé : "Le premier commit"  (2e8ff6de...)
 633 (12:57:19) photo-valentin.kouadio a quitté le salon
 634 (12:57:34) davin.baragiotta: chaque étiquette, représente le HEAD d'une branche
 635 (12:57:42) davin.baragiotta: je n,en dis pas plus si ce n'est
 636 (12:57:50) davin.baragiotta: outre la beauté du graphe
 637 (12:58:05) davin.baragiotta: que les branches servent à explorer des modifications aux fichiers
 638 (12:58:34) davin.baragiotta: (ex.: coder une nouvelle fonctionnalité si on fait du développement, tester une config si on suit une configuration serveur))
 639 (12:58:48) davin.baragiotta: explorer, sans impacté le tronc d'origine
 640 (12:58:57) davin.baragiotta: l'expérimentation a portée fruit?
 641 (12:59:18) davin.baragiotta: on pourra donc fusionner la branche dans le tronc d'origine pour y ajouter ces nouvelles modifs
 642 (12:59:21) davin.baragiotta: CONCLUSION
 643 (12:59:25) davin.baragiotta: git est puissant
 644 (12:59:35) davin.baragiotta: git est simple : quelque commandes suffisent
 645 (12:59:45) davin.baragiotta: git permet de mieux travailler ensemble :
 646 (13:00:12) davin.baragiotta: parlons-nous, partageons nos sources (entre nous et avec les autres) et collaborons
 647 (13:00:22) davin.baragiotta: c'est en fait, pas mal l'esprit du libre
 648 (13:00:27) davin.baragiotta: des exemples?
 649 (13:00:43) davin.baragiotta: regardez les dépôts de projets libre sur GitHub :
 650 (13:00:49) davin.baragiotta: à vous de collaborer, maintenant ;)
 651 (13:00:59) davin.baragiotta: https://github.com/
 652 (13:01:02) davin.baragiotta: des questions?
 653 (13:02:20) eric.mcsween: pas de questions
 654 (13:02:28) davin.baragiotta: désolé pour la partie RPV : je croyais que c'était un peu implicite... et j,en avais parlé avec le BAP mais j,ai oublié de l'ajouter sur la page de l'atelier :
 655 (13:02:32) davin.baragiotta: http://wiki.auf.org/wikiteki/Projet/SemaineTech/2012/Ateliers/Git
 656 (13:02:47) davin.baragiotta: ceci dit : cet atelier en rappel mercredi 02h00 GMT
 657 (13:02:54) davin.baragiotta: ---------- FIN ATELIER GIT --------------------

Projet/SemaineTech/2012/Ateliers/Git/Conversation (dernière édition le 2012-08-27 18:05:33 par MoussaNombre)