Projet / SemaineTech / 2011 / Ateliers / VersionnerSonTravail / Conversation

   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 se rend compte que le topic n'était pas bien positionné tout à l'heure :P
   9 (13:05:16) willy: tout le monde peut se manifester avec un "." dans tech@ (encore) ?
  10 (13:05:41) ***willy compte les "."
  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 ahem... remercie JC
  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 s'arrête un peu pour savoir si tout le monde a pu committer ?
 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 fait des git pull chez lui et va répondre aux questions
 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 pense qu'on est allé vraiment vite pour certains :)
 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@ ;-)

Projet/SemaineTech/2011/Ateliers/VersionnerSonTravail/Conversation (dernière édition le 2012-04-02 15:13:40 par VictorBruneau)