Modifications entre les versions 6 et 7
Version 6 à la date du 2011-08-29 16:34:34
Taille: 14924
Éditeur: WillyManga
Commentaire:
Version 7 à la date du 2011-08-29 17:20:46
Taille: 3146
Éditeur: WillyManga
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 62: Ligne 62:
{{{

(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@ ;-)
}}}
 * Archive brute de la [[Projet/SemaineTech/Ateliers/VersionnerSonTravail|conversation]]

Semaine Tech : Versionner son travail (avec git)

Présentateur(s)

Format

Format long

Description détaillée

Cet atelier porte sur la présentation succincte des outils de gestion de versions (centralisés ou non ) . Nous étudierons plus spécifiquement git et ses principales commandes.

Nous ferons aussi un tour sur quelques forges logicielles publiques disponibles sur internet sans oublier de passer par le dépôt de l'AUF ;)

Programme

  • VCS et DVCS : définitions et leur(s) raison(s) d'être
  • cvs,svn, bazaar,mercurial,... :-?

  • Se servir de Git
    • installation
    • quelques commandes git pour les tâches usuelles d'un développeur

      • portée locale
      • portée distante
      • travail de groupe
  • Exercice

  • dépôts sur internet, un tour rapide

Pré-requis

Connaitre ou au moins comprendre un peu un langage de programmation, n'importe lequel. Même les langages comportant des balises peuvent faire l'affaire; du moment que ce soit un peu structuré.

Environnement technique

  • /!\ Accès au RPV obligatoire pour les accès en écriture

    • Nous travaillons dans l'intranet mais si vous êtes uniquement sur l'internet utiliser git.auf.org au lieu de git.auf partout où des commandes sont indiquées

  • disposer d'une clé SSH ou pouvoir en créer une comme ici : SSH#Utilisation_de_clef_publique_.2BAC8_clef_priv.2BAOk-e

  • avoir le droit d'installer des paquets/logiciels sur le poste qu'on utilise
  • avoir un terminal ouvert pour saisir des commandes
  • disposer d'un éditeur de texte permettant du produire du code text/plain => gedit peut faire l'affaire

Date et heure de passage

  • Le 29/08/2011 à 11h00 TU
  • Durée prévue: 45 minutes de présentations (max) + 15 minutes de question

Ressources

Ensemble des fichiers et des liens qui pourront servir ou sont conservés pour archives

Documentation sur Git sur ce wiki

Archives des conversations

Commentaires d'après atelier

Projet/SemaineTech/2011/Ateliers/VersionnerSonTravail (dernière édition le 2012-08-02 19:15:57 par VictorBruneau)