1 (13:02:38) nacer.saidou-adamou@auf.org: Re-bonjour à tous
2 (13:03:10) nacer.saidou-adamou@auf.org: nous nous retrouvons pour discuter de la versionnalisation avec Git
3 (13:03:32) nacer.saidou-adamou@auf.org: Willy Manga RTL à Ngaoundéré nous fera la visite
4 (13:03:35) nacer.saidou-adamou@auf.org: bonne dégustation
5 (13:03:38) willy: merci nacer
6 (13:03:47) willy:
7 je vous invite à ouvrir la page https://wiki.auf.org/wikiteki/Projet/SemaineTech/Ateliers/VersionnerSonTravail
8 (13:04:26) ***willy
9 (13:05:16) willy: tout le monde peut se manifester avec un "." dans tech@ (encore) ?
10 (13:05:41) ***willy
11 (13:05:59) willy: ok
12 (13:06:16) willy: déjà, est-ce qu'il y en a qui ne sont pas dans le RPV ? mettez un "O" dans tech@ svp ?
13 (13:06:38) willy: bon.. on continue
14 (13:07:14) willy: versionner son travail permet d'avoir un ensemble de dossiers, fichiers avec une historique
15 (13:07:43) willy: ça vous permet que ce soit individuellement ou pour un travail de groupe de mieux comprendre d'où on vient
16 (13:07:58) willy: comment a-t-on fait pour en arriver là
17 (13:08:09) willy: et éventuellement revenir dans le passé
18 (13:08:59) willy:
19 par exemple si vous allez sur http://git.kernel.org , parmi les projets, vous trouverez les toutes premières versions du noyau linux ;)
20 (13:09:27) willy: on distingue des systèmes de contrôle de version centralisé et distribué
21 (13:09:47) willy: encore que la distinction est moins fine avec certains
22 (13:10:03) willy: mais dans la catégorie des centralisés vous avez le bon vieux CVS
23 (13:10:23) willy:
24 mais plus utilisé, SVN .. par http://code.google.com ... ( qui s'est mis à git récemment ;) )
25 (13:10:41) willy: mais en vrac, vous avez aussi mercurial, bazaar
26 (13:11:01) willy:
27 launchpad emploie bazaar sur https://launchpad.net
28 (13:11:23) willy: bref, il y en a beaucoup... on ne va pas rentrer dans les guerres pour savoir qui est meilleur que qui
29 (13:11:38) willy: je dirais que ça dépend de vos usages et contraintes
30 (13:11:56) willy: mais on préférera les systèmes distribués ou mixtes pour les travaux collaboratifs
31 (13:12:11) willy: un petit arrêt
32 (13:12:20) willy: avant de parler exclusivement de git
33 (13:12:22) willy: nacer.saidou-adamou@auf.org: ?
34 (13:12:43) nacer.saidou-adamou@auf.org: RAS
35 (13:12:47) willy: ok
36 (13:13:05) willy:
37 je suppose que tout le monde a la page https://wiki.auf.org/wikiteki/Projet/SemaineTech/Ateliers/VersionnerSonTravail devant lui
38 (13:13:24) willy: git est le système que nous employons à l'AUF
39 (13:13:58) willy: si vous ne l'avez pas encore installé sur votre poste, c'est l'occasion de le faire
40 (13:13:59) willy: sudo aptitude install git-core
41 (13:14:21) willy: 'git-doc' aussi si vous voulez plus de documentations
42 (13:14:46) willy:
43 les commandes usuelles pour nous sont regroupées ici pour l'essentiel https://wiki.auf.org/wikiteki/Git/D%C3%A9veloppeur
44 (13:15:21) willy: en gros, au jour le jour, vous aurez à manipuler: git clone, git log, git commit, git pull , git push...
45 (13:15:47) willy: notez que vous pouvez toujours travailler en local sans forcément vous reférer à un dépôt 'central'
46 (13:16:17) willy: si ça va jusqu'ici nous allons rapidement commencé l'exercice
47 (13:16:32) willy: nacer.saidou-adamou@auf.org: tu m'arrêtes seulement s'il ya une question à ce niveau
48 (13:16:53) nacer.saidou-adamou@auf.org: pas de soucis
49 (13:16:56) willy: en gros, nous allons créer un projet en local
50 (13:17:02) willy: y faire des modifications
51 (13:17:19) willy: et envoyer de temps à autre nos modifications sur un dépôt communn
52 (13:17:25) willy: s/communn/commun
53 (13:17:29) willy: pardon
54 (13:17:58) willy:
55 mais avant de commencer, je vous invite à consulter un peu le pendant web du dépôt git de l'AUF http://git.auf.org
56 (13:18:28) willy: vous y trouverez tous les projets de l'AUF
57 (13:18:40) willy:
58 celui qui va nous intéresser est http://git.auf.org/?p=semainetech_git101.git;a=summary
59 (13:18:58) willy: on va faire un petit commentaire sur cette page
60 (13:19:31) willy: il y a le nom du propriétaire et un résumé des logs
61 (13:19:57) willy: je trouve que c'est une belle abstration de certaines commandes commandes comme 'git log' :)
62 (13:20:30) willy: pour chaque "clichés" ou "commit" vous avez un commentaire
63 (13:20:46) willy: example "
64 précision l'accès en écriture "
65 (13:21:13) willy: tout à côté, vous voyez des liens [commit,commitdiff,tree,snapshot]
66 (13:21:36) willy: commit vous donne un résumé des action
67 (13:22:18) nacer.saidou-adamou@auf.org: JC: REMARQUE : installer aussi 'tig' pour un affichage "ncurses" (semi-graphique dans un terminal) de infos git
68 (13:22:34) nacer.saidou-adamou@auf.org: JC: REMARQUE : le fait de pouvoir travailler en local plutôt qu'en central, veut aussi dire que git permet aussi de travailler en mode déconnecté ! plus de dépendance permanente à l'Internet pour faire son suivi de versions !
69 (13:23:16) nacer.saidou-adamou@auf.org: .
70 (13:23:24) willy: merci JC
71 (13:24:03) willy: je termine juste avec "snapshot" qui vous permet de récupérer une archive du projet dans la version indiquée
72 (13:24:16) willy: ceci dit... ouvrez vos terminaux
73 (13:24:26) willy: nous verrons les commandes une à une
74 (13:25:03) willy:
75 vous allez clone le dépôt semainetech_git101 avec git clone gitosis@git.auf:semainetech_git101
76 (13:25:16) willy: je répète la commande plus bas
77 (13:25:22) willy: git clone gitosis@git.auf:semainetech_git101
78 (13:26:11) willy:
79 ceux qui ne sont pas dans le RPV c'est git clone gitosis@git.auf.org:semainetech_git101
80 (13:26:38) willy: mettez vous dans le dossier du projet
81 (13:26:48) willy: et faites un 'git log'
82 (13:27:04) willy: vous allez retrouvez tout ce que nous avons vu à travers l'interface web
83 (13:27:14) willy: avec quelques infos en plus
84 (13:27:49) willy: consultez le fichier README
85 (13:27:53) willy: puis le fichier TODO
86 (13:28:00) willy: et arrêter vous sur ce dernier
87 (13:28:09) progfou: pour ceux qui ne sont pas dans le RPV c'est :
88 git clone git://git.auf.org/semainetech_git101 (et non pas gitosis@...)
89 (13:28:25) willy: nous avons 2 exercices ; le 3è étant un complément
90 (13:28:43) ***willy
91 (13:29:05) willy: donc.. dans l'exercice 1
92 (13:29:19) willy: il vous est demandé de créer un dossier portant votre nom
93 (13:29:30) willy: dans le sous-dossier docIndiv...
94 (13:29:51) willy: et d'y mettre un fichier avec une info.. n'importe laquelle
95 (13:30:05) willy: si c'est fait
96 (13:30:18) willy: revenez dans votre dossier parent (je préfère)
97 (13:30:26) willy: et faite un "git status"
98 (13:31:09) willy: cette commande vous donne l'état de votre dépôt depuis le dernier retrait sur le dépôt d'origine
99 (13:31:39) willy: normalement il va vous signaler qu'il y a des fichiers/dossiers non versionnés
100 (13:31:58) willy: "untracked files" qu'il dira
101 (13:32:23) willy: il faut donc à partir de maintenant rajouter cela dans l'index
102 (13:32:27) willy: avec "git add ."
103 (13:32:45) willy: ensuite faite un autre "git status" pour voir la différence
104 (13:33:45) willy: si ça va, vous allez réalisé un cliché de vos travaux
105 (13:33:57) willy: avec un "git commit "
106 (13:34:02) willy: mais SVP !
107 (13:34:35) willy: git commit -m "mon premier commit"
108 (13:34:54) willy: si vous ne rajoutez pas le "-m" , on vous ouvrira votre éditeur par défaut
109 (13:34:57) willy: souvent nano
110 (13:35:05) willy: mais les adeptes de vi peuvent utiliser
111 (13:35:43) willy: update-alternatives --config editor
112 (13:35:49) willy: et sélectionner 'vim"
113 (13:35:56) willy: donc.. nous étions sur le commit :)
114 (13:36:17) willy: j'espère que tout le monde est à ce niveau
115 (13:36:36) willy: si vous faites un git status; normalement, il n y a plus rien à rajouter
116 (13:37:01) willy: avec cependant une info sur le décalage avec la version d'origin
117 (13:37:18) willy: "...ahead of 1 commit ... "
118 (13:37:43) willy: et un "git log" vous donnera les logs que vous aviez déjà + le vôtre
119 (13:37:53) willy: est-ce qu'il y a des problèmes jusqu'ici ?
120 (13:37:55) willy: nacer.saidou-adamou@auf.org: ?
121 (13:38:09) nacer.saidou-adamou@auf.org: pas de questions
122 (13:38:31) willy: ok... donc soit vous êtes très forts, soit nous sommes allés trop vite :)
123 (13:38:56) willy: mais je vous recommande de relire après pour ceux pour qui nous serions allés trop vite
124 (13:39:14) willy: nous allons nous apprêter à envoyer nos travaux dans le dépôt d'origine
125 (13:39:57) willy: à noter que vous pouvez redéfinir à n'importe quel moment un dépôt distant
126 (13:40:14) willy: mais dans notre cas, nous allons nous servir du même dépôt
127 (13:41:08) willy: vous allez faire donc "git push"
128 (13:41:11) willy: mais, mais !!
129 (13:41:28) willy: avant d'appliquer, essayez "git pull"
130 (13:41:42) willy: afin de pouvoir récupérer ce qu'on aurait rajouté avant vous
131 (13:41:51) willy: n'oubliez pas que nous sommes plusieurs à travailler dessus
132 (13:42:08) nacer.saidou-adamou@auf.org: REMARQUE : quand j'ai copié/collé les commandes git de Willy le shell m'a répondu ça :
133 bash: $'git\302\240clone\302\240gitosis@git.auf:semainetech_git101' : commande introuvable
134 => en fait il faut supprimer et refaire les espaces car ici ce sont des espaces blancs typographiques, que le shell ne comprend bien sûr pas
135 (13:42:25) nacer.saidou-adamou@auf.org: copyright: JC (sorry)
136 (13:42:41) willy: merci
137 (13:43:08) ***willy
138 (13:43:40) willy: je reprends: 'git pull' pour récupérer ce qui se serait ajouté
139 (13:43:56) willy: et 'git push' pour envoyer sa contribution
140 (13:44:13) willy: mais y aura certainement un petit embouteillage pendant quelques minutes :D
141 (13:44:53) willy: j'ai déjà vu des commits de olivier.larcheveque et de progfou
142 (13:44:56) willy: les autres ?
143 (13:45:34) willy: ceux qui sont en dehors du RPV, faites juste un 'git pull'
144 (13:45:50) willy: c'est le même principe qu'un "update" ;)
145 (13:46:12) willy: à chaque fois, vous verrez les nouvelles contributions apparaitrent
146 (13:46:33) willy: et les logs encore plus longs
147 (13:47:05) willy: nous allons rapidement faire le deuxième exercice
148 (13:47:43) willy: là dessus, nous allons gérer certainement des conflits
149 (13:47:44) willy: :)
150 (13:47:55) willy: mais au moins le principe sera assimilé je pense
151 (13:48:12) willy: après un enième git pull
152 (13:48:20) willy: vous aurez plusieurs dossiers
153 (13:48:27) willy: dont celui d'olivier et de jc
154 (13:48:32) willy: magique non ? :)
155 (13:48:45) willy: allons donc sur le deuxième exo
156 (13:49:00) willy: appliquez le et faites un push après
157 (13:49:13) willy: remarque pour ceux qui sont hors RPV
158 (13:49:28) willy: vous pouvez faire vos modifications et les committer au fur et à mesure
159 (13:49:52) willy: là... je vais m'arrêter
160 (13:50:12) ***willy
161 (13:51:10) nacer.saidou-adamou@auf.org: voilà
162 (13:51:16) nacer.saidou-adamou@auf.org: c'est la fin de l'atelier
163 (13:51:42) nacer.saidou-adamou@auf.org: mais c'est pas la fin de la journée
164 (13:51:59) nacer.saidou-adamou@auf.org: dix minutes pour digérer et on se retrouve ici
165 (13:52:09) ***willy
166 (13:52:09) nacer.saidou-adamou@auf.org: pour un atelier sur la programmation python
167 (13:52:28) nacer.saidou-adamou@auf.org: n'oubliez pas, tech@ reste ouvert pour les questions
168 (13:52:36) nacer.saidou-adamou@auf.org: et les après "match" ;-)
169 (13:52:40) nacer.saidou-adamou@auf.org: bien à vous
170 (13:52:57) willy: nacer.saidou-adamou@auf.org: heu.. il ya une question je crois ;)
171 (13:54:30) nacer.saidou-adamou@auf.org: la suite sur tech@ ;-)