Difference between revisions of "GIT/Fr"
m (→Comment l'administrer (panel): relecture) |
m (→Comment l'utiliser: relecture) |
||
Line 44: | Line 44: | ||
= Comment l'utiliser = | = Comment l'utiliser = | ||
− | Bon, vous avez pris un hébergement chez Tuxfamily, c'est bien. Vous avez opté pour un | + | Bon, vous avez pris un hébergement chez Tuxfamily, c'est bien. Vous avez opté pour un dépôt GIT, c'est très bien. Nous allons vous expliquer comment utiliser tout cela. |
==Utilisation basique== | ==Utilisation basique== | ||
Line 50: | Line 50: | ||
===Check out=== | ===Check out=== | ||
− | Commencez par initialiser votre | + | Commencez par initialiser votre dépôt en local. Nous partons du principe que vous possédez déja un répertoire contenant votre projet. |
$ cd monprojet | $ cd monprojet | ||
$ git init | $ git init | ||
Line 57: | Line 57: | ||
$ git push ssh://VOTREUSER@git.tuxfamily.org/gitroot/VOTREPROJET/NOMDUREPOSITORY.git master | $ git push ssh://VOTREUSER@git.tuxfamily.org/gitroot/VOTREPROJET/NOMDUREPOSITORY.git master | ||
− | Ceci va créer un premier commit qui sera la branche 'master' de votre | + | Ceci va créer un premier commit qui sera la branche 'master' de votre dépôt GIT. |
− | + | Remplacez bien sûr VOTREUSER par votre nom d'utilisateur sur le panel, VOTREPROJET par le nom du projet auquel appartient le dépôt de nom NOMDUREPOSITORY). | |
Pour récupérer une copie complète du dépôt GIT, vous pouvez utiliser la commande clone : | Pour récupérer une copie complète du dépôt GIT, vous pouvez utiliser la commande clone : | ||
Line 72: | Line 72: | ||
100% (6/6) done | 100% (6/6) done | ||
− | === Ajout/suppression de fichiers, mise à jour du | + | === Ajout/suppression de fichiers, mise à jour du dépôt === |
==== Ajout de fichier ==== | ==== Ajout de fichier ==== | ||
− | Entrons donc dans notre répertoire | + | Entrons donc dans notre répertoire : |
$ cd repertoire | $ cd repertoire | ||
− | Et créons un fichier appelé | + | Et créons un fichier appelé "file" |
$ touch file | $ touch file | ||
− | Ensuite, pour l'ajouter au | + | Ensuite, pour l'ajouter au dépôt, tapez simplement : |
$ git add file | $ git add file | ||
Line 88: | Line 88: | ||
$ git commit file | $ git commit file | ||
− | Une fois vos commits terminés, vous pouvez pusher tout sur le serveur avec la commande: | + | Une fois vos commits terminés, vous pouvez pusher tout sur le serveur avec la commande : |
$ git push | $ git push | ||
− | Pour les répertoires, nous aurions procédé de la même façon | + | Pour les répertoires, nous aurions procédé de la même façon : |
$ git add directory/ | $ git add directory/ | ||
$ git commit directory/ | $ git commit directory/ | ||
Line 97: | Line 97: | ||
====Suppression de fichier ==== | ====Suppression de fichier ==== | ||
− | Pour supprimer un fichier présent dans le | + | Pour supprimer un fichier présent dans le dépôt, tapez simplement : |
$ git rm file | $ git rm file | ||
$ git commit | $ git commit | ||
Line 103: | Line 103: | ||
− | ==== Mise à jour du | + | ==== Mise à jour du dépôt ==== |
− | Quand on travaille en groupe, il peut être utile de pouvoir mettre à jour son | + | Quand on travaille en groupe, il peut être utile de pouvoir mettre à jour son dépôt Git. Pour cela, il suffit d'invoquer la commande suivante à la base du dépôt : |
$ git pull | $ git pull | ||
'''Attention''': le mot de passe vous sera peut-être demandé plusieurs fois | '''Attention''': le mot de passe vous sera peut-être demandé plusieurs fois | ||
Line 110: | Line 110: | ||
== Utilisation de GIT en anonymous == | == Utilisation de GIT en anonymous == | ||
− | Il est possible d'utiliser GIT en anonyme. Cependant, vous n'aurez pas le droit de modifier le | + | Il est possible d'utiliser GIT en anonyme. Cependant, vous n'aurez pas le droit de modifier le dépôt (suppression ou modification de fichiers). Pour faire un "checkout" du dépôt, invoquez la commande suivante : |
$ git clone git://git.tuxfamily.org/gitroot/VOTREPROJET/NOMDUREPOSITORY.git | $ git clone git://git.tuxfamily.org/gitroot/VOTREPROJET/NOMDUREPOSITORY.git | ||
− | Il est également possible de mettre à jour le | + | Il est également possible de mettre à jour le dépôt au fur et à mesure que les développeurs mettent à jour le code via un simple : |
$ git pull | $ git pull | ||
− | Attention cependant, le mode anonyme n'est disponible que si votre | + | Attention cependant, le mode anonyme n'est disponible que si votre dépôt est mis en public (réglage par défaut). |
== Utilisation du Gitweb == | == Utilisation du Gitweb == | ||
− | Vous pouvez consulter les | + | Vous pouvez consulter les dépôts par le web à l'adresse suivante : http://git.tuxfamily.org |
− | Les URLs sont de la forme http://git.tuxfamily.org/groupe/dépôt/ ( exemple: http://git.tuxfamily.org/tftest/testgit/ ) | + | Les URLs sont de la forme http://git.tuxfamily.org/groupe/dépôt/ (exemple: http://git.tuxfamily.org/tftest/testgit/) |
== Utilisation avec SSH == | == Utilisation avec SSH == | ||
− | Il faut premièrement activer votre accès SSH et il est possible aussi de déposer votre clé SSH (publique) sur votre espace sur Tuxfamily. Cela vous permet de ne pas taper votre mot de passe à chaque opération effectuée sur le serveur | + | Il faut premièrement activer votre accès SSH et il est possible aussi de déposer votre clé SSH (publique) sur votre espace sur Tuxfamily. Cela vous permet de ne pas taper votre mot de passe à chaque opération effectuée sur le serveur GIT. Ensuite, il ne reste plus qu'à lancer une session SSH sur votre machine et toutes les commandes GIT devront être tapées dans le même shell. |
− | Lisez cette page pour savoir précisément [[User/Fr#Acc.C3.A8s_SSH|comment faire tout ça | + | Lisez cette page pour savoir précisément [[User/Fr#Acc.C3.A8s_SSH|comment faire tout ça]]. |
==Développement collaboratif, droits d'écriture== | ==Développement collaboratif, droits d'écriture== | ||
− | Tous les utilisateurs du groupe auront la permission d'écrire sur le GIT. Autrement dit, si vous désirez développer à plusieurs sur un même | + | Tous les utilisateurs du groupe auront la permission d'écrire sur le GIT. Autrement dit, si vous désirez développer à plusieurs sur un même dépôt, il est conseillé d'ajouter les développeurs au groupe via le panel. Toutefois, il faut que les développeurs se créent un compte sur le panel au préalable. |
− | Un projet correspond à un groupe (au sens Unix du terme), il faut ajouter vos co-développeurs à votre projet pour qu'ils puissent commiter des modifications au dépôt | + | Un projet correspond à un groupe (au sens Unix du terme), il faut ajouter vos co-développeurs à votre projet pour qu'ils puissent commiter des modifications au dépôt GIT (ils auront aussi accès à l'arborescence, permettant de maintenir l'intégralité du projet collaborativement). |
Autrement, vous risquez d'obtenir le message suivant : | Autrement, vous risquez d'obtenir le message suivant : |
Revision as of 10:04, 28 July 2010
Dépot GIT
Cette page n'est pas terminée ! Continuez la ;). |
Contents
- 1 Description
- 2 Dépendances
- 3 Création
- 4 Modération
- 5 Comment l'administrer (panel)
- 6 Comment l'utiliser
- 7 Remarques diverses
- 8 Liens utiles
Description
GIT est un autre SCM tel que CVS ou SVN mais il diffère légèrement de ceux-ci car il est décentralisé.
Dépendances
Création
- Rendez-vous sur le panel
- Cliquez sur le lien du projet auquel vous voulez ajouter un dépôt GIT
- Choisissez le nom de votre dépôt
- Validez
Conseils de création
- Ne choisissez pas un nom trop générique
- Pensez à remplir la description pour éviter les soucis avec les modos ;)
Modération
Cet objet est soumis à la modération voir : ici.
Comment l'administrer (panel)
Sur le panel vous pouvez décider si ce dépôt est public ou non.
En cochant oui vous permettez un login anonymous en lecture seule sur le dépôt et en permettez la consultation par le gitweb (pas encore disponible).
Configuration
Comment gérer les droits de mon groupe
Cet objet peut être partagé avec votre groupe en utilisant les ACL.
Comment le détruire
- Logguez-vous sur le panel
- Cliquez sur le groupe de votre projet
- Cliquez sur votre dépôt GIT
- Cliquez sur détruire
Comment l'utiliser
Bon, vous avez pris un hébergement chez Tuxfamily, c'est bien. Vous avez opté pour un dépôt GIT, c'est très bien. Nous allons vous expliquer comment utiliser tout cela.
Utilisation basique
Check out
Commencez par initialiser votre dépôt en local. Nous partons du principe que vous possédez déja un répertoire contenant votre projet.
$ cd monprojet $ git init $ git add monpremierfichier mondeuxiemefichier $ git commit -a $ git push ssh://VOTREUSER@git.tuxfamily.org/gitroot/VOTREPROJET/NOMDUREPOSITORY.git master
Ceci va créer un premier commit qui sera la branche 'master' de votre dépôt GIT.
Remplacez bien sûr VOTREUSER par votre nom d'utilisateur sur le panel, VOTREPROJET par le nom du projet auquel appartient le dépôt de nom NOMDUREPOSITORY).
Pour récupérer une copie complète du dépôt GIT, vous pouvez utiliser la commande clone :
$ git clone ssh://VOTREUSER@git.tuxfamily.org/gitroot/VOTREPROJET/NOMDUREPOSITORY.git remote: Generating pack... remote: Done counting 6 objects. remote: Deltifying 6 objects... remote: (6/6) done remote: Total 6 (delta 0), reused 0 (delta 0) Indexing 6 objects... 100% (6/6) done
Ajout/suppression de fichiers, mise à jour du dépôt
Ajout de fichier
Entrons donc dans notre répertoire :
$ cd repertoire
Et créons un fichier appelé "file"
$ touch file
Ensuite, pour l'ajouter au dépôt, tapez simplement :
$ git add file
Enfin, pour commiter, invoquez la commande suivante :
$ git commit file
Une fois vos commits terminés, vous pouvez pusher tout sur le serveur avec la commande :
$ git push
Pour les répertoires, nous aurions procédé de la même façon :
$ git add directory/ $ git commit directory/ $ git push
Suppression de fichier
Pour supprimer un fichier présent dans le dépôt, tapez simplement :
$ git rm file $ git commit $ git push
Mise à jour du dépôt
Quand on travaille en groupe, il peut être utile de pouvoir mettre à jour son dépôt Git. Pour cela, il suffit d'invoquer la commande suivante à la base du dépôt :
$ git pull Attention: le mot de passe vous sera peut-être demandé plusieurs fois
Utilisation de GIT en anonymous
Il est possible d'utiliser GIT en anonyme. Cependant, vous n'aurez pas le droit de modifier le dépôt (suppression ou modification de fichiers). Pour faire un "checkout" du dépôt, invoquez la commande suivante :
$ git clone git://git.tuxfamily.org/gitroot/VOTREPROJET/NOMDUREPOSITORY.git
Il est également possible de mettre à jour le dépôt au fur et à mesure que les développeurs mettent à jour le code via un simple :
$ git pull
Attention cependant, le mode anonyme n'est disponible que si votre dépôt est mis en public (réglage par défaut).
Utilisation du Gitweb
Vous pouvez consulter les dépôts par le web à l'adresse suivante : http://git.tuxfamily.org Les URLs sont de la forme http://git.tuxfamily.org/groupe/dépôt/ (exemple: http://git.tuxfamily.org/tftest/testgit/)
Utilisation avec SSH
Il faut premièrement activer votre accès SSH et il est possible aussi de déposer votre clé SSH (publique) sur votre espace sur Tuxfamily. Cela vous permet de ne pas taper votre mot de passe à chaque opération effectuée sur le serveur GIT. Ensuite, il ne reste plus qu'à lancer une session SSH sur votre machine et toutes les commandes GIT devront être tapées dans le même shell.
Lisez cette page pour savoir précisément comment faire tout ça.
Développement collaboratif, droits d'écriture
Tous les utilisateurs du groupe auront la permission d'écrire sur le GIT. Autrement dit, si vous désirez développer à plusieurs sur un même dépôt, il est conseillé d'ajouter les développeurs au groupe via le panel. Toutefois, il faut que les développeurs se créent un compte sur le panel au préalable.
Un projet correspond à un groupe (au sens Unix du terme), il faut ajouter vos co-développeurs à votre projet pour qu'ils puissent commiter des modifications au dépôt GIT (ils auront aussi accès à l'arborescence, permettant de maintenir l'intégralité du projet collaborativement).
Autrement, vous risquez d'obtenir le message suivant :
error: unable to create temporary sha1 filename ./objects/tmp_obj_9tDId6: Permission denied fatal: failed to write object unpack unpacker exited with error code ng refs/heads/master n/a (unpacker error) error: failed to push to 'ssh://xxx@git.tuxfamily.org/gitroot/yyy/zzz.git'
Remarques diverses
- Il est conseillé de ne commiter que des éléments qui compilent correctement (mais qui ne fonctionnent pas forcément) afin que le trunk puisse être testé n'importe quand par de nouveaux utilisateurs.
- Vous devez choisir les fichiers à versionner, il n'est par exemple pas nécessaire d'archiver des fichiers de backup (faites attention aux éditeurs qui créent des copies en xxx~, ces copies ne doivent pas être versionnées) ni les fichiers issus directement de la compilation des sources.
- Evitez de prendre un nom générique comme "git". Utilisez plutot un nom en rapport avec votre projet ou même, prenez le nom de votre projet ...
Liens utiles
- http://www.kernel.org/pub/software/scm/git/docs/git-svnimport.html à regarder pour les imports
- http://hjemli.net/git/cgit/ pour l'instant pas encore d'interface web pour parcourir le source du dépôt (gitweb aussi existe)
- http://linuxfr.org/~weeber/29493.html tutoriel pour mercurial