Comment configurer un répertoire Git publique pour pouvoir partager vos patches:

Si vous désirez travailler en équipe avec n'importe qui utilisant Git, alors le mieux est de configurer votre propre dépôt publique. Voici comment faire.

Actuellement, sur notre serveur, nus avons créé un /var/gitusers dont l'alias est http://git.gplhost.com/users mais vous pouvez configurer le votre n'importe où. Pour une sécurité maximum, le mieux est d'utiliser le même identifiant Unix à la fois sur votre serveur et sur votre PC/portable, et ensuite faire des chown my-username:www-data /var/gitusers/my-username et chmod 750 /var/gitusers/my-username avant d'uploader quoi que ce soit.

En cas de besoins, nous pouvons vous fournir un compte shell sur notre serveur 'git.gplhost.com pour votre répertoire publique (notre politique est d'en fournir seulement après que vous nous ayez envoyé votre premier fichier patch, de façon à se nous sachions que vous puissiez envoyer des travaux valable).

Ok, allons-y!

Créer une archive à envoyer sur le serveur:

Disons que vous travaillez sur le projet dtc-xen, et avez un répertoire dtc-xen déjà cloné avec:

   zigo@laptop:~/sources$ git clone http://git.gplhost.com/dtc-xen.git

Ensuite vous devrez taper:

   zigo@laptop:~/sources$ git clone --bare dtc-xen dtc-xen.git
   zigo@laptop:~/sources$ tar -cvzf dtc-xen.git.tar.gz dtc-xen.git

Notez qui si l'archive est conséquente, c'est parce qu'elle inclus tout l'historique des changements. Par exemple, le fichier archive du projet dtc faisait plus de 14Mb lorsque j'essaye de faire ça.

Donc, vous devrez téléverser les fichiers sur le serveur web que vous utilisez pour votre depôt publique Git:

Installer l'archive sur le serveur web:

   zigo@webserver:/var/gitusers/zigo$ tar -xvzf /home/zigo/dtc-xen.git.tar.gz

ensuite informez git que c'est maintenant votre dépôt publique, et non pas le depét de travail:

   zigo@webserver:/var/gitusers/zigo/dtc-xen.git$ git --bare update-server-info

Configurer votre depôt local pour qu'il reconnaisse publique:

Revenez sur votre dépôt de travail, vous pouvez éditer le fichier .git/remotes/public pour faire en sorte qu'il reconnaisse le dépôt publique.

   zigo@laptop:~/sources/dtc-xen$  echo "URL: ssh://git.gplhost.com/var/gitusers/zigo/dtc-xen.git
   Push: master" >.git/remotes/public

avec bien sûre /var/gitusers/zigo/dtc-xen.git étant le chemin de votre dépôt publique en ligne sur le disque dur de votre serveur.

A ce propos! Maintenant la seule chose dont vous avez besoins est de publier vos changements, comme cela:

   zigo@laptop:~/sources/dtc-xen$ git commit -a
   zigo@laptop:~/sources/dtc-xen$ git push public

et vos modification vont êtres téléversé sur votre dépôt publique via un tunnel SSH, utilisant le sympathique Git CRC.

Comment faire un diff entre deux dépôts:

Une fois que vous avez configuré votre dépôt, les autres devront être capable de faire un 'diff avec la commande suivante:

   git fetch http://www.example.com/dtc-xen.git
   git diff HEAD origin --
Page last modified on September 18, 2009, at 04:29 PM EST