Modifications entre les versions 14 et 16 (s'étendant sur 2 versions)
Version 14 à la date du 2008-10-24 17:06:59
Taille: 4087
Commentaire: le git push ne retient pas la dernière URL fournie !!
Version 16 à la date du 2008-11-14 22:40:40
Taille: 2060
Éditeur: ThomasNoël
Commentaire: je me relis moi-même, comme quoi je m'ennuie ce soir et pourtant il ne pleut pas
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
## page was renamed from Git/GitWeb

||<bgcolor="#FFFF00"> Note : dans toute cette page, il faut remplacer '''PROJET''' par le nom de votre projet (par exemple `auf-postclient`).||

Un dépôt git est disponible à l'AUF. Il permet :
 * à quiconque de suivre les développements AUF ;
Un «dépôt git» est disponible à l'AUF. Il permet :
 * à quiconque de suivre les développements effectués à l'AUF ;
Ligne 11: Ligne 7:
Vous trouverez ci-dessous un résumé des commandes à utiliser pour exploiter ce service. Si vous voulez vraiment savoir utiliser ''git'', voyez les liens sur la page [[Git]].
Ligne 12: Ligne 9:
Ci-dessous un résumé (pense-bête) des commandes à utiliser pour exploiter ce service. Si vous voulez vraiment savoir utiliser ''git'', consultez d'abord [[http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#public-repositories|la documentation officielle]]. = Télécharger un projet =
Ligne 14: Ligne 11:
== Télécharger et suivre d'un projet, sans participer == Tous les projets visibles sur http://git.auf.org/ sont librement téléchargeables.
Ligne 16: Ligne 13:
Premier téléchargement : Pour obtenir un projet, on fait d'abord un premier ''clonage'' :
Ligne 18: Ligne 15:
$ git clone http://git.auf.org/git/PROJET $ git clone git://git.auf.org/nom-du-projet
Ligne 21: Ligne 18:
Télécharger les mises à jour : Cela crée un répertoire `nom-du-projet`, contenant votre dépôt git local du projet. Vous pouvez placer ce répertoire où bon vous semble.

Par la suite, pour obtenir la dernière version du projet, on se place dans le répertoire déjà téléchargé et on ''pull'' :
Ligne 23: Ligne 22:
$ cd PROJET $ cd nom-du-projet
Ligne 27: Ligne 26:
== Participer à un projet (droits en écriture) == = Participer à un projet (droits en écriture) =
Ligne 29: Ligne 28:
Nécessite un accès RPV + SSH. Si vous désirez participer à un projet sur le dépôt Git, vous devez :
 * avoir un accès au réseau privé de l'AUF (RPV) ;
 * envoyer votre clé publique SSH à l'un des responsables du dépôt (JeanChristopheAndré, MoussaNombré ou ThomasNoël) ;
 * en rappelant sur quel(s) projet(s) vous désirez obtenir les droits d'écriture.
Ligne 31: Ligne 33:
Une fois que les droits vous auront été accordés, vous pouvez envoyer vos modifications avec un ''push'' :
Ligne 32: Ligne 35:
$ git push ssh://git.auf/~user/PROJET $ git push ssh://gotisis@git.auf/nom-du-projet
Ligne 35: Ligne 38:
Étant donné que vous serez amenés à répéter cette commande régulièrement, autant enregistrer l'URL dans la configuration locale de git : Note : afin de pouvoir taper directement `git push`, enregistrez l'URL dans la configuration du dépôt git :
Ligne 37: Ligne 40:
$ git config remote.origin.url ssh://git.auf/~user/PROJET $ git config remote.origin.url ssh://gitosis@git.auf/nom-du-projet
Ligne 40: Ligne 43:
Ainsi vous pourrez ensuite vous contenter d'un simple `git push` sans autre argument. Note : sans doute est-il préférable de travailler sur une '''branche''' du projet, que vous créerez à l'occasion de vos expérimentations. On essayera de mettre une documentation claire sur le sujet ici prochainement...
Ligne 44: Ligne 47:
Nécessite un accès RPV + ssh.

Sur la machine où le projet est présent :
 {{{
$ git clone --bare ~/PROJET PROJET.export
$ rsync -a PROJET.export user@git.auf:PROJET
$ rm -rf PROJET.export
}}}

Sur le serveur :
 {{{
$ cd ~user/PROJET/
$ echo "Description du projet en 35 caractères (ou plus)." > description
$ touch git-daemon-export-ok
$ git --bare update-server-info
$ chmod a+x hooks/post-update
}}}

Publication via http et vue sur gitweb (optionnelles) :
 {{{
$ cd /srv/git/
$ sudo ln -s ~user/PROJET .
}}}

== Partage en écriture ==

Si plusieurs personnes doivent intervenir sur le projet, on peut créer un compte "virtuel" accessible par ssh à un ensemble de clés bien défini. L'adresse publique ne changera pas.

Pour que l'accès ''ssh'' soit restreint aux commandes git nécessaires, on met le shell de connexion de l'utilisateur à `/usr/bin/git-shell`<<FootNote(Ni `rssh` ni `scponly` ne fonctionnent, notamment par rapport à la notion de hooks)>>.

Exemple de création du compte (à faire '''avant''' le transfert du projet) :
 {{{
$ sudo adduser --shell /usr/bin/git-shell --gecos "Projet PROJET" --disabled-password git-PROJET
$ sudo adduser git-PROJET ssh
$ sudo mv ~user/PROJET ~git-PROJET/
$ sudo chown -R git-PROJET:git-PROJET ~git-PROJET/
}}}
Ne pas oublier de copier les clés nécessaires dans le fichier `~git-PROJET/.ssh/authorized_keys` !

L'envoi des modifications au projet se fait alors avec la commande suivante (depuis chez vous) :
 {{{
$ git push ssh://git-PROJET@git.auf/~/PROJET
}}}

Étant donné que vous serez amenés à répéter cette commande régulièrement, autant enregistrer l'URL dans la configuration locale de git :
 {{{
$ git config remote.origin.url ssh://git-PROJET@git.auf/~/PROJET
}}}

Ainsi vous pourrez ensuite vous contenter d'un simple `git push` sans autre argument.

= Ce qui reste à faire : rien... =

 * http://eagain.net/blog/2007/03/22/howto-host-git.html : hébergement de gits, à étudier (lu en diagonale)
 * rsync public pour accès rsync
 * [[http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt|webdav]] ? Mmh, les droits d'écriture à "www-data" ne me plaisent pas. Ceci dit, pour un accès public, c'est-à-dire écriture depuis en dehors du RPV... Entre ça et des comptes avec `git-shell` sur un port autre que 22, mon coeur balance.
 * git-daemon pour accès git:// plus optimisé : pas vraiment nécessaire
 * dissocier gitweb de la publication via http (c'est-à-dire ne pas rendre tous les projets publics visibles via gitweb) : possible mais plutôt inutile

----
''Notes de bas de page :''
/* à ré-écrire (gitosis) */

Un «dépôt git» est disponible à l'AUF. Il permet :

  • à quiconque de suivre les développements effectués à l'AUF ;
  • à tout technicien AUF d'y présenter ses développements.

Les projets publics de ce dépôt sont visibles ici : http://git.auf.org/

Vous trouverez ci-dessous un résumé des commandes à utiliser pour exploiter ce service. Si vous voulez vraiment savoir utiliser git, voyez les liens sur la page Git.

Télécharger un projet

Tous les projets visibles sur http://git.auf.org/ sont librement téléchargeables.

Pour obtenir un projet, on fait d'abord un premier clonage :

  • $ git clone git://git.auf.org/nom-du-projet

Cela crée un répertoire nom-du-projet, contenant votre dépôt git local du projet. Vous pouvez placer ce répertoire où bon vous semble.

Par la suite, pour obtenir la dernière version du projet, on se place dans le répertoire déjà téléchargé et on pull :

  • $ cd nom-du-projet
    $ git pull

Participer à un projet (droits en écriture)

Si vous désirez participer à un projet sur le dépôt Git, vous devez :

  • avoir un accès au réseau privé de l'AUF (RPV) ;
  • envoyer votre clé publique SSH à l'un des responsables du dépôt (JeanChristopheAndré, MoussaNombré ou ThomasNoël) ;

  • en rappelant sur quel(s) projet(s) vous désirez obtenir les droits d'écriture.

Une fois que les droits vous auront été accordés, vous pouvez envoyer vos modifications avec un push :

  • $ git push ssh://gotisis@git.auf/nom-du-projet

Note : afin de pouvoir taper directement git push, enregistrez l'URL dans la configuration du dépôt git :

  • $ git config remote.origin.url ssh://gitosis@git.auf/nom-du-projet

Note : sans doute est-il préférable de travailler sur une branche du projet, que vous créerez à l'occasion de vos expérimentations. On essayera de mettre une documentation claire sur le sujet ici prochainement...

Création d'un projet

Git/DépôtGit (dernière édition le 2015-07-20 23:59:57 par JeanChristopheAndré)