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 --------------------