## page was renamed from Projet/SemaineTech2011/Ateliers/VersionnerSonTravail/Conversation ## page was renamed from Projet/SemaineTech/Ateliers/VersionnerSonTravail/Conversation {{{#!highlight irc (13:02:38) nacer.saidou-adamou@auf.org: Re-bonjour à tous (13:03:10) nacer.saidou-adamou@auf.org: nous nous retrouvons pour discuter de la versionnalisation avec Git (13:03:32) nacer.saidou-adamou@auf.org: Willy Manga RTL à Ngaoundéré nous fera la visite (13:03:35) nacer.saidou-adamou@auf.org: bonne dégustation (13:03:38) willy: merci nacer (13:03:47) willy: je vous invite à ouvrir la page https://wiki.auf.org/wikiteki/Projet/SemaineTech/Ateliers/VersionnerSonTravail (13:04:26) ***willy se rend compte que le topic n'était pas bien positionné tout à l'heure :P (13:05:16) willy: tout le monde peut se manifester avec un "." dans tech@ (encore) ? (13:05:41) ***willy compte les "." (13:05:59) willy: ok (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:06:38) willy: bon.. on continue (13:07:14) willy: versionner son travail permet d'avoir un ensemble de dossiers, fichiers avec une historique (13:07:43) willy: ça vous permet que ce soit individuellement ou pour un travail de groupe de mieux comprendre d'où on vient (13:07:58) willy: comment a-t-on fait pour en arriver là (13:08:09) willy: et éventuellement revenir dans le passé (13:08:59) willy: par exemple si vous allez sur http://git.kernel.org , parmi les projets, vous trouverez les toutes premières versions du noyau linux ;) (13:09:27) willy: on distingue des systèmes de contrôle de version centralisé et distribué (13:09:47) willy: encore que la distinction est moins fine avec certains (13:10:03) willy: mais dans la catégorie des centralisés vous avez le bon vieux CVS (13:10:23) willy: mais plus utilisé, SVN .. par http://code.google.com ... ( qui s'est mis à git récemment ;) ) (13:10:41) willy: mais en vrac, vous avez aussi mercurial, bazaar (13:11:01) willy: launchpad emploie bazaar sur https://launchpad.net (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 (13:11:38) willy: je dirais que ça dépend de vos usages et contraintes (13:11:56) willy: mais on préférera les systèmes distribués ou mixtes pour les travaux collaboratifs (13:12:11) willy: un petit arrêt (13:12:20) willy: avant de parler exclusivement de git (13:12:22) willy: nacer.saidou-adamou@auf.org: ? (13:12:43) nacer.saidou-adamou@auf.org: RAS (13:12:47) willy: ok (13:13:05) willy: je suppose que tout le monde a la page https://wiki.auf.org/wikiteki/Projet/SemaineTech/Ateliers/VersionnerSonTravail devant lui (13:13:24) willy: git est le système que nous employons à l'AUF (13:13:58) willy: si vous ne l'avez pas encore installé sur votre poste, c'est l'occasion de le faire (13:13:59) willy: sudo aptitude install git-core (13:14:21) willy: 'git-doc' aussi si vous voulez plus de documentations (13:14:46) willy: les commandes usuelles pour nous sont regroupées ici pour l'essentiel https://wiki.auf.org/wikiteki/Git/D%C3%A9veloppeur (13:15:21) willy: en gros, au jour le jour, vous aurez à manipuler: git clone, git log, git commit, git pull , git push... (13:15:47) willy: notez que vous pouvez toujours travailler en local sans forcément vous reférer à un dépôt 'central' (13:16:17) willy: si ça va jusqu'ici nous allons rapidement commencé l'exercice (13:16:32) willy: nacer.saidou-adamou@auf.org: tu m'arrêtes seulement s'il ya une question à ce niveau (13:16:53) nacer.saidou-adamou@auf.org: pas de soucis (13:16:56) willy: en gros, nous allons créer un projet en local (13:17:02) willy: y faire des modifications (13:17:19) willy: et envoyer de temps à autre nos modifications sur un dépôt communn (13:17:25) willy: s/communn/commun (13:17:29) willy: pardon (13:17:58) willy: 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 (13:18:28) willy: vous y trouverez tous les projets de l'AUF (13:18:40) willy: celui qui va nous intéresser est http://git.auf.org/?p=semainetech_git101.git;a=summary (13:18:58) willy: on va faire un petit commentaire sur cette page (13:19:31) willy: il y a le nom du propriétaire et un résumé des logs (13:19:57) willy: je trouve que c'est une belle abstration de certaines commandes commandes comme 'git log' :) (13:20:30) willy: pour chaque "clichés" ou "commit" vous avez un commentaire (13:20:46) willy: example " précision l'accès en écriture " (13:21:13) willy: tout à côté, vous voyez des liens [commit,commitdiff,tree,snapshot] (13:21:36) willy: commit vous donne un résumé des action (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 (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 ! (13:23:16) nacer.saidou-adamou@auf.org: . (13:23:24) willy: merci JC (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 (13:24:16) willy: ceci dit... ouvrez vos terminaux (13:24:26) willy: nous verrons les commandes une à une (13:25:03) willy: vous allez clone le dépôt semainetech_git101 avec git clone gitosis@git.auf:semainetech_git101 (13:25:16) willy: je répète la commande plus bas (13:25:22) willy: git clone gitosis@git.auf:semainetech_git101 (13:26:11) willy: ceux qui ne sont pas dans le RPV c'est git clone gitosis@git.auf.org:semainetech_git101 (13:26:38) willy: mettez vous dans le dossier du projet (13:26:48) willy: et faites un 'git log' (13:27:04) willy: vous allez retrouvez tout ce que nous avons vu à travers l'interface web (13:27:14) willy: avec quelques infos en plus (13:27:49) willy: consultez le fichier README (13:27:53) willy: puis le fichier TODO (13:28:00) willy: et arrêter vous sur ce dernier (13:28:09) progfou: pour ceux qui ne sont pas dans le RPV c'est : git clone git://git.auf.org/semainetech_git101 (et non pas gitosis@...) (13:28:25) willy: nous avons 2 exercices ; le 3è étant un complément (13:28:43) ***willy ahem... remercie JC (13:29:05) willy: donc.. dans l'exercice 1 (13:29:19) willy: il vous est demandé de créer un dossier portant votre nom (13:29:30) willy: dans le sous-dossier docIndiv... (13:29:51) willy: et d'y mettre un fichier avec une info.. n'importe laquelle (13:30:05) willy: si c'est fait (13:30:18) willy: revenez dans votre dossier parent (je préfère) (13:30:26) willy: et faite un "git status" (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 (13:31:39) willy: normalement il va vous signaler qu'il y a des fichiers/dossiers non versionnés (13:31:58) willy: "untracked files" qu'il dira (13:32:23) willy: il faut donc à partir de maintenant rajouter cela dans l'index (13:32:27) willy: avec "git add ." (13:32:45) willy: ensuite faite un autre "git status" pour voir la différence (13:33:45) willy: si ça va, vous allez réalisé un cliché de vos travaux (13:33:57) willy: avec un "git commit " (13:34:02) willy: mais SVP ! (13:34:35) willy: git commit -m "mon premier commit" (13:34:54) willy: si vous ne rajoutez pas le "-m" , on vous ouvrira votre éditeur par défaut (13:34:57) willy: souvent nano (13:35:05) willy: mais les adeptes de vi peuvent utiliser (13:35:43) willy: update-alternatives --config editor (13:35:49) willy: et sélectionner 'vim" (13:35:56) willy: donc.. nous étions sur le commit :) (13:36:17) willy: j'espère que tout le monde est à ce niveau (13:36:36) willy: si vous faites un git status; normalement, il n y a plus rien à rajouter (13:37:01) willy: avec cependant une info sur le décalage avec la version d'origin (13:37:18) willy: "...ahead of 1 commit ... " (13:37:43) willy: et un "git log" vous donnera les logs que vous aviez déjà + le vôtre (13:37:53) willy: est-ce qu'il y a des problèmes jusqu'ici ? (13:37:55) willy: nacer.saidou-adamou@auf.org: ? (13:38:09) nacer.saidou-adamou@auf.org: pas de questions (13:38:31) willy: ok... donc soit vous êtes très forts, soit nous sommes allés trop vite :) (13:38:56) willy: mais je vous recommande de relire après pour ceux pour qui nous serions allés trop vite (13:39:14) willy: nous allons nous apprêter à envoyer nos travaux dans le dépôt d'origine (13:39:57) willy: à noter que vous pouvez redéfinir à n'importe quel moment un dépôt distant (13:40:14) willy: mais dans notre cas, nous allons nous servir du même dépôt (13:41:08) willy: vous allez faire donc "git push" (13:41:11) willy: mais, mais !! (13:41:28) willy: avant d'appliquer, essayez "git pull" (13:41:42) willy: afin de pouvoir récupérer ce qu'on aurait rajouté avant vous (13:41:51) willy: n'oubliez pas que nous sommes plusieurs à travailler dessus (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 : bash: $'git\302\240clone\302\240gitosis@git.auf:semainetech_git101' : commande introuvable => 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 (13:42:25) nacer.saidou-adamou@auf.org: copyright: JC (sorry) (13:42:41) willy: merci (13:43:08) ***willy s'arrête un peu pour savoir si tout le monde a pu committer ? (13:43:40) willy: je reprends: 'git pull' pour récupérer ce qui se serait ajouté (13:43:56) willy: et 'git push' pour envoyer sa contribution (13:44:13) willy: mais y aura certainement un petit embouteillage pendant quelques minutes :D (13:44:53) willy: j'ai déjà vu des commits de olivier.larcheveque et de progfou (13:44:56) willy: les autres ? (13:45:34) willy: ceux qui sont en dehors du RPV, faites juste un 'git pull' (13:45:50) willy: c'est le même principe qu'un "update" ;) (13:46:12) willy: à chaque fois, vous verrez les nouvelles contributions apparaitrent (13:46:33) willy: et les logs encore plus longs (13:47:05) willy: nous allons rapidement faire le deuxième exercice (13:47:43) willy: là dessus, nous allons gérer certainement des conflits (13:47:44) willy: :) (13:47:55) willy: mais au moins le principe sera assimilé je pense (13:48:12) willy: après un enième git pull (13:48:20) willy: vous aurez plusieurs dossiers (13:48:27) willy: dont celui d'olivier et de jc (13:48:32) willy: magique non ? :) (13:48:45) willy: allons donc sur le deuxième exo (13:49:00) willy: appliquez le et faites un push après (13:49:13) willy: remarque pour ceux qui sont hors RPV (13:49:28) willy: vous pouvez faire vos modifications et les committer au fur et à mesure (13:49:52) willy: là... je vais m'arrêter (13:50:12) ***willy fait des git pull chez lui et va répondre aux questions (13:51:10) nacer.saidou-adamou@auf.org: voilà (13:51:16) nacer.saidou-adamou@auf.org: c'est la fin de l'atelier (13:51:42) nacer.saidou-adamou@auf.org: mais c'est pas la fin de la journée (13:51:59) nacer.saidou-adamou@auf.org: dix minutes pour digérer et on se retrouve ici (13:52:09) ***willy pense qu'on est allé vraiment vite pour certains :) (13:52:09) nacer.saidou-adamou@auf.org: pour un atelier sur la programmation python (13:52:28) nacer.saidou-adamou@auf.org: n'oubliez pas, tech@ reste ouvert pour les questions (13:52:36) nacer.saidou-adamou@auf.org: et les après "match" ;-) (13:52:40) nacer.saidou-adamou@auf.org: bien à vous (13:52:57) willy: nacer.saidou-adamou@auf.org: heu.. il ya une question je crois ;) (13:54:30) nacer.saidou-adamou@auf.org: la suite sur tech@ ;-) }}}