Utilisation de GIT

Les informations utiles aux développeurs de Pyromaths.

Modérateur: Développeurs

Utilisation de GIT

Messagede Jérôme » Jeu 09 Juil 2009, 20:47

Git est un logiciel de gestion de versions décentralisé. C'est un logiciel libre créé par Linus Torvalds, le créateur du noyau Linux, et distribué sous la GNU GPL version 2.
Suite au changement de système d'exploitation sur le serveur de Pyromaths (OpenBSD 4.5), j'ai choisi de ne plus utiliser Subversion mais GIT.
Suit la procédure à utiliser pour pouvoir l'utiliser. Cela ne s'adresse qu'aux développeurs de Pyromaths.
La documentation officielle en anglais est ici : http://book.git-scm.com/book.pdf
La documentation officielle traduite en français est ici : http://alexgirard.com/git-book/book_fr.pdf

Sous MS Windows
Il faut télécharger la version de Git pour Windows ici : http://code.google.com/p/msysgit/downloads/list (la version intitulée Full installer if you want to use official Git)
Lors de l'installation, valider toutes les options proposées sauf les 3 suivantes :
Image Image Image

Puis, dans le menu démarrer, cliquer sur le programme GitGui.
Il va falloir tout d'abord vous créer une clé ssh qui vous permettra d'accéder au serveur. Pour cela, cliquer sur le menu Help / Show SSH key puis cliquer sur le bouton Generate Key et enfin cliquer sur le bouton Copy To Clipboard. Cette dernière action copie la clé publique dans le presse papier. Il vous faut à présent coller cette clé publique dans un mail à mon attention.
Image Image

Pour finir, une fois que j'aurai répondu à votre message en vous disant que tout est prêt, vous pourrez récupérez la dernière version de Pyromaths en cliquant sur le lien Clone Existing Repository toujours dans GitGui. Dans la fenêtre qui s'ouvre, complétez la ligne Source location avec le texte suivant : ssh://git@pyromaths.org:7422/pyromaths.git et compléter Target Directory avec le nom du dossier où vous souhaitez copier les sources de Pyromaths.
Image
La première fois, vous verrez le message suivant :
Image
Il vous faudra alors taper yes et cliquer sur OK.

Voilà !
Dernière édition par Jérôme le Lun 28 Juin 2010, 23:33, édité 2 fois.
Raison: Ajout des liens vers la documentation officielle
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1073
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: Utilisation de GIT

Messagede Yves » Dim 12 Juil 2009, 14:38

Sur Mac OS X
Il faut télécharger la version de Git pour Mac OS X ici : http://code.google.com/p/git-osx-installer/downloads/list
et procéder à son installation :
Image
La clé sera créée dans le dossier ~/.ssh/
Pour savoir qui a publié les modifications sur le projet, il faut configurer Git en renseignant votre nom et votre adresse mail en tapant les commandes suivantes :
Code: Tout sélectionner
git repo-config --global user.name "Prenom Nom"
git repo-config --global user.email "email@exemple.com"

Ensuite, il va falloir vous créer une clé ssh qui vous permettra d'accéder au serveur. Pour cela, taper la commande suivante dans le Terminal :
Code: Tout sélectionner
ssh-keygen

Copier la clé publique générée avec la commande pbcopy qui copie la sortie standard STDOUT vers le presse-papiers :
Code: Tout sélectionner
cat ~/.ssh/id_rsa.pub | pbcopy

Il vous faut à présent coller cette clé publique dans un mail à l'attention de Jérôme.
Une fois qu'il aura répondu à votre message, vous pourrez récupérez la dernière version de Pyromaths avec la commande :
Code: Tout sélectionner
git clone ssh://git@pyromaths.org:7422/pyromaths.git

Voilà !
Avatar de l’utilisateur
Yves
 
Messages: 454
Inscription: Mer 21 Jan 2009, 21:40

Quelques commandes utiles

Messagede Jérôme » Mar 25 Aoû 2009, 01:32

  1. Fonctions de base
    • Pour ajouter de nouveaux fichiers au dépôt :
      Code: Tout sélectionner
      git add **fichier**
    • Pour appliquer toutes les modifications faites :
      Code: Tout sélectionner
      git commit -a
      et laisser un message explicatif dans le fichier qui s'ouvre.
    • Pour appliquer seulement quelques modifications faites :
      Code: Tout sélectionner
      git commit **fichiers**
      et laisser un message explicatif dans le fichier qui s'ouvre.
    • Pour publier les commits sur le serveur (master est à remplacer éventuellement par le nom de la branche) :
      Code: Tout sélectionner
      git repack
      git prune
      git push origin master
    • Pour récupérer la dernière version du serveur (master est à remplacer éventuellement par le nom de la branche):
      Code: Tout sélectionner
      git pull origin master
  2. Manipulation des branches
  3. En cas de mauvaises manipulations
    • Pour annuler les modifications faites en local :
      Code: Tout sélectionner
      git reset --hard origin/master
      ou pour la branche modeles
      Code: Tout sélectionner
      git reset --hard origin/modeles
  4. Étiqueter une version (pour Jérôme seulement)
    • Pour ajouter un tag (lors de la sortie d'une version)
      Code: Tout sélectionner
      git log --pretty=format:'%h : %s' --graph
      pour repérer le nom SHA1 du commit à tagger en options
      Code: Tout sélectionner
      git tag -u B39EE5B6 version-09.08 795e2b0
      pour tagguer le commit 795e2b0
      Code: Tout sélectionner
      git push --tags
    • Pour supprimer le tag version-09.08 mal placé :
      Code: Tout sélectionner
      git tag -d version-09.08
      git push origin :refs/tags/version-09.08
Dernière édition par Jérôme le Mar 16 Fév 2010, 20:46, édité 5 fois.
Raison: Correction des anglicismes, ajout de la manipulation des branches
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1073
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: Utilisation de GIT

Messagede djinn » Dim 03 Mar 2013, 13:19

Salut,

Est-ce qu'il est possible d'accéder au dépot git en lecture seule (sans identification ssh)?
J'aurais aimé cloner le dépôt avec un:
Code: Tout sélectionner
$ git clone git://pyromaths.org/pyromaths.git


EDIT: Je viens de me rendre compte que le sujet avait déjà été évoqué. Désolé… :-/
Dernière édition par djinn le Mer 06 Mar 2013, 20:55, édité 2 fois.
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: Utilisation de GIT

Messagede Jérôme » Dim 03 Mar 2013, 13:23

Non, il n'y a pas d'accès public au serveur git. Les sources de la dernière version sont libres par contre dans la zone téléchargement.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1073
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: Utilisation de GIT

Messagede djinn » Mer 06 Mar 2013, 13:40

Jérôme a écrit:Les sources de la dernière version sont libres par contre dans la zone téléchargement.

En effet, mais c'est simplement un instantané du code source: il manque beaucoup d'information…
Jérôme a écrit:Non, il n'y a pas d'accès public au serveur git.

C'est dommage…
Finalement, j'utilise git pour travailler sur le code en local, mais mon "arbre" indépendant n'est pas compatible avec l'arbre officiel: si je contribuais un patch, le commit local et le commit officiel auraient des SHA1 différents, par exemple. Idéalement, j'aurais préféré partir de l'arbre officiel et coder dans ma branche locale; Il me semble que c'est ainsi que git est censé être utilisé.

Sans indiscrétion, est-ce qu'il y a une raison (technique ou autre) à cela?
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: Utilisation de GIT

Messagede Jérôme » Mer 06 Mar 2013, 16:08

djinn a écrit:C'est dommage…
Finalement, j'utilise git pour travailler sur le code en local, mais mon "arbre" indépendant n'est pas compatible avec l'arbre officiel: si je contribuais un patch, le commit local et le commit officiel auraient des SHA1 différents, par exemple. Idéalement, j'aurais préféré partir de l'arbre officiel et coder dans ma branche locale; Il me semble que c'est ainsi que git est censé être utilisé.

Sans indiscrétion, est-ce qu'il y a une raison (technique ou autre) à cela?

Je ne vois pas l'intérêt de proposer un git en lecture seule. Si quelqu'un veut participer, je lui crée un compte. À part d'éventuelles failles de sécurité, ça n'apporte rien (à mon sens). Donc si tu veux un accès, tu n'as qu'à demander (et me donner les infos requises). :)
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1073
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: Utilisation de GIT

Messagede djinn » Mer 06 Mar 2013, 18:02

En fait, j'aurais aimé éviter de te déranger, sachant que je ne suis pas absolument certain à ce stade de contribuer quoi que ce soit… :-)
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: Utilisation de GIT

Messagede Arnaud » Mer 06 Mar 2013, 21:09

En fait, c'est pour éviter de rendre public les âneries que je peux parfois écrire :)

Bon sérieusement, concernant la sécurité, on pourrait envisager d'ouvrir tout ça via une solution telle que github.
Avatar de l’utilisateur
Arnaud
Critique officiel de pyromaths
 
Messages: 603
Inscription: Sam 26 Aoû 2006, 21:49
Localisation: Allemagne

Re: Utilisation de GIT

Messagede Jérôme » Mer 06 Mar 2013, 21:15

Arnaud a écrit:En fait, c'est pour éviter de rendre public les âneries que je peux parfois écrire :)

:lol: :lol:
Arnaud a écrit:Bon sérieusement, concernant la sécurité, on pourrait envisager d'ouvrir tout ça via une solution telle que github.

Oui, on pourrait. cela dit, en 7 ans (je crois), ça n'est arrivé que deux fois que quelqu'un demande un accès... On peut donc relativiser je pense.
Djinn a son accès et a préparé son premier correctif ! :)
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1073
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: Utilisation de GIT

Messagede djinn » Mer 06 Mar 2013, 21:57

Arnaud a écrit:Bon sérieusement, concernant la sécurité, on pourrait envisager d'ouvrir tout ça via une solution telle que github.

En effet. Mais j'ai l'impression que Jérôme tient à utiliser son serveur OpenBSD (si je me souviens bien) -- ce que je peux comprendre.
Je pense sincèrement que faire tourner un daemon git ne compromettrait pas significativement la sécurité de ce serveur. Certes, c'est un service de plus et, statistiquement, des failles de sécurité potentielles supplémentaires. Ceci étant dit, le risque est à mon sens bien moindre que de faire tourner un serveur web, par exemple: c'est un protocole bien plus simple. C'est également un code central car, dans la philosophie décentralisée de git, quiconque bidouille du code contrôlé par git fait (ou devrait pouvoir faire) tourner son propre daemon, afin qu'un tiers puisse "puller" un commit qu'il juge heureux. Il y a des développeurs vraiment très sérieux qui font tourner un daemon git chez eux: je crois qu'on peut faire pareil.
Il est toujours possible de faire appel à github, par exemple, pour délocaliser le risque. Notons cependant qu'ils n'hésitent pas, eux, à miser leur business notamment sur la fiabilité du daemon git. ;-)
Jérôme a écrit:Oui, on pourrait. cela dit, en 7 ans (je crois), ça n'est arrivé que deux fois que quelqu'un demande un accès... On peut donc relativiser je pense.
Djinn a son accès et a préparé son premier correctif ! :)

Mon correctif! Il faut le dire très vite! Je me suis contenté de faire un peu d'administratif… :D
Si tu me permets néanmoins, je crains que ton raisonnement ne soit légèrement biaisé: je pense que, si un accès public était disponible, il aurait été utilisé par plus de 2 personnes en 7 ans. Personnellement, j'aurais très bien pu ne pas oser demander un accès, pour autant j'aurais certainement cloné en anonyme si cela avait été possible. Bon, honnêtement, je ne pense pas que Pyromaths ait loupé beaucoup de patch à cause de ça, mais quand même… :-)
Avatar de l’utilisateur
djinn
 
Messages: 183
Inscription: Dim 03 Mar 2013, 11:38

Re: Utilisation de GIT

Messagede kellogs » Mer 31 Déc 2014, 13:32

Je cherche les sources depuis plus d'une heure et je viens de comprendre que l'URL se trouve dans la copie d'écran.
C'est bien git clone ssh://git@pyromaths.org:7422/pyromaths.git

Code: Tout sélectionner
git clone ssh://git@pyromaths.org:7422/pyromaths.git
Clonage dans 'pyromaths'...
no slots
The authenticity of host '[pyromaths.org]:7422 ([xxxxxxxxxxxxxxxx]:7422)' can't be established.
ECDSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[pyromaths.org]:7422,[xxxxxxxxxxxxxxxxxxxxxx]:7422' (ECDSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights


Est-il possible de cloner en tant qu'utilisateur anonymous ?
Avez-vous pensé héberger Pyromaths sous GitHub ?
Je pense que des centaines de professeurs sont intéressés, en France et à l'étranger, et en conservant un GIT non-accessible à tous, on se prive d'une aide précieuse.

Amicalement,
Kellogs
kellogs
 
Messages: 9
Inscription: Mer 31 Déc 2014, 12:35

Re: Utilisation de GIT

Messagede Jérôme » Mer 31 Déc 2014, 13:40

kellogs a écrit:Est-il possible de cloner en tant qu'utilisateur anonymous ?
Avez-vous pensé héberger Pyromaths sous GitHub ?
Je pense que des centaines de professeurs sont intéressés, en France et à l'étranger, et en conservant un GIT non-accessible à tous, on se prive d'une aide précieuse.

Et c'est reparti pour un tour :) Ce sujet revient régulièrement, et je suis celui qui s'y oppose. Les sources sont disponibles sur le site de Pyromaths, avec les paquets binaires, au format tar.bz2 il me semble. Pour obtenir un accès au serveur git, il faut en faire la demande, c'est expliqué sur le site également. Je ne veux pas donner d'accès en lecture seule car je n'en vois pas l'intérêt. Je ne l'ai pas transféré sur github car... Je ne sais pas. J'aime avoir le contrôle probablement. :?
Si tu veux juste regarder le code, tu peux donc télécharger le code source de la dernière version publiée ici.
Si tu veux modifier le code, tu me fais une demande de création de compte.
À plus.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1073
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Re: Utilisation de GIT

Messagede kellogs » Mer 31 Déc 2014, 13:46

OK, compris pour les motivations, c'est naturel et même compréhensible.

Toutefois, GitHub te permet de garder le contrôle. Tu peux passer ton temps à réviser des demandes de commit. Je n'ai pas étudié en détails, mais même un fork reste lié au projet principal. Il est difficile de recréer un nouveau projet sous GitHub, à moins de renvoyer toutes les sources, sous un nom différent. J'en ai déjà fait l'expérience, certaines communautés se sont déchirées et le gestionnaire avait un compte GitHub.

Avec GitHub, Pyromaths n'aurait jamais forké, c'est une absurdité.
kellogs
 
Messages: 9
Inscription: Mer 31 Déc 2014, 12:35

Re: Utilisation de GIT

Messagede Jérôme » Mer 31 Déc 2014, 16:23

Tu as sans doute raison. Je me suis créé un compte gitHub il y a plusieurs mois (années ?). Je n'ai cependant pas pris le temps de m'y plonger.

Est-ce réellement un drame le fork de Pyromaths ? Car je ne le vois pas ainsi.
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL
Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
 
Messages: 1073
Inscription: Sam 26 Aoû 2006, 13:10
Localisation: Nantes

Suivante

Retourner vers Documentation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité