Project

General

Profile

Actions

La doc » History » Revision 5

« Previous | Revision 5/18 (diff) | Next »
Geoffroy Desvernay, 05/29/2013 03:11 PM


h1. Présentation de la forge

La forge peut vous aider dans tous vos projets logiciels. Elle dispose :

  • D’une page Activité résumant les dernières actions effectuées. Vous pouvez vous abonner à son flux RSS. Vous pouvez également choisir la quantité d’informations à afficher et à recevoir par mail.
  • D’un système de Demandes pour répartir les tâches dans le groupe, garder une trace de ce qui a été fait, planifier en mettant une date d’échéance.
  • D’un Gantt qui se complète automatiquement à partir du système de tâche. Il est exportable en pdf.
  • D’un calendrier qui se complète automatiquement à partir du système de tâche.
  • D’un système d’ Annonces pour communiquer avec l’extérieur.
  • D’un moyen de déposer des Documents. Vous pouvez donner un titre à ce document et une description longue. Très utile pour rassembler les documents les plus importants à transmettre.
  • D’un Wiki, pour garder une trace de votre documentation avec un bel historique. Très utile si vous devez la passer à une future équipe. Vous pouvez également attacher un fichier à une page.
  • D’un Dépôt pour garder une trace de votre code, pouvoir revenir à une version antérieure qui fonctionne, garder une trace de qui à fait quoi, de comparer des versions,…

Bonne utilisation !

h1. Wiki

Pour créer une nouvelle page, il suffit de se rendre à l’adresse de la page que l’on veut créer.

Pour créer une sous-page (ce qui permet d’avoir une relation parent/enfant entre les pages et de voir la relation dans Index par titre), créez les deux pages séparément. Ensuite, allez sur la page fille et cliquez sur renommer. Sélectionnez le nom de la page parent et sauvegardez.

Pour ajouter une table des matières, entrez

{{toc}}

Vous pouvez aussi recevoir des notifications par mails en cliquant sur watch ou surveiller.

Pour ajouter des notes, utilisez les balises suivantes :

    {{note(text)}}
    {{tip(text)}}
    {{important(text)}}
    {{warning(text)}}

h1. Dépôt git

Adresse du dépôt git : :/srv/git/PROJET/default.git

Pour ajouter des utilisateurs au projet : il faut se rapprocher du CRI. Pour deux raisons :

  • Les utilisateurs doivent être connus de Redmine
  • Les utilisateurs doivent avoir les droits de commit. Ceci implique d’être dans le bon groupe Unix.

{{important(L’encodage par défaut du dépôt est UTF-8. Faîtes-y attention surtout si l’encodage de votre système est différent (Vous êtes sous Windows ou linux > 10 ans).)}}

Pour avoir une présentation de git et quelques commandes de base : http://www.llaumgui.com/public/slides/git-github-social-codding/#/

h2. Les clés ssh

h3. Sous linux

L'accès au dépôt se fait par les clés ssh autorisées dans vos comptes de l'école. Vous pouvez également procéder de même pour vous connecter en ssh à vos comptes personnels ou d’association. Il faut juste adapter les dossiers et les machines.

Pour créer une paire de clé ssh, lancez la commande : ssh-keygen. Ceci crée deux fichiers dans votre ~/.ssh :

  • id_rsa (votre clé privée à conserver précieusement)
  • id_rsa.pub (votre clé publique à transmettre).

Pour pouvoir utiliser votre clé publique ssh (~/.ssh/id_rsa.pub) dans le fichier authorized_keys dans votre compte de l'école (eg : sur le sas) :

  • si la clé est dans votre compte:

  • cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key

  • si elle est sur votre machine perso, au choix :

  • ssh-copy-id

  • cat ~/.ssh/id_rsa.pub | ssh 'mkdir -m 700 -p ~/.ssh ; cat >> .ssh/authorized_keys'

h3. Sous windows

Installez un client ssh. Par exemple "ppty":http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Allez sur "ce tuto":http://assos.centrale-marseille.fr/ginfo/content/utiliser-un-terminal-unix-comme-si-vous-%C3%A9tiez-au-cri pour plus de détails.

Ceci vous permet d’avoir une console. Le programme puttygen (disponible "ici":http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) vous permet de générer une paire de clé.

Exécutez-le

Cliquez sur Generate.

Bouger la souris dans tous les sens.

Sauvegardez votre clé publique et votre clé privée là où vous saurez les retrouver. Pensez à remplir le champ comment avec quelque chose qui vous identifie. Cela permettra de distinguer les clés ssh sur le serveur.

Donnez leur un nom qui vous permette de les distinguer. Par exemple, key pour votre clé privé et key.pub pour votre clé publique.

{{important(Les clés générées par puttygen ne sont compatibles qu’avec putty)}}

Maintenant, vous devez placer ces clés sur le serveur. Pour cela :

Connecter vous au serveur avec putty

Créer un dossier .ssh (s’il n’existe pas) mkdir ~/.ssh

Ouvrez le fichier authorized_keys (ou créez le) : nano -w ~/.ssh/authorized_keys

Copiez/Collez votre clé publique dedans sur une seule ligne

Sauvegardez

Ensuite, pour vous connecter au serveur à l’aide de ces clés avec le client putty :

Ouvrez putty

Dans Connexion > SSH > Auth, renseignez votre clé privée.

Connectez vous au serveur comme d’habitude.

h2. Installer git

h3. Sous Linux

Git devrait être présent dans les dépôts de votre distribution. Installez-le comme un autre logiciel.

h3. Sous Windows

Il faut tout d’abord installer git. Téléchargez msysgit par "ici":http://code.google.com/p/msysgit/. Installez le avec les paramètres par défaut.

Afin de vous faciliter la vie, installez également TortoiseGit. C’est une interface à git grâce à laquelle vous pourrez utiliser vos clés ssh plus facilement. Téléchargez le logiciel "ici":http://code.google.com/p/tortoisegit/ et installez-le avec les options par défaut. Pour le configurer, faîtes un clic droit dans un dossier ou sur votre bureau, puis allez dans TortoiseGit > Settings. Entrez le chemin vers msysgit comme demander puis sauvegardez.

Pour cloner un dépôt :

Allez là où vous désirez le cloner

Clique droit, puis clone

Entrez le chemin du dépôt

Cochez Load Putty key et entrez le chemin de votre clé privé dans ce champ.

Vous êtes opérationnel.

Liens complémentaires :

h2. Pour cloner le dépôt

Placez-vous là où vous voullez cloner le dépôt

Tapez : git clone ssh:///srv/git/PROJET/default.git .

h2. Commandes basiques de git

  • Pour récupérer les "nouveautés" : git pull
  • Pour envoyer ses modifications : git push
    {{important(TOUJOURS faire un pull et régler les éventuels conflits en local avant de faire un push)}}
  • Pour ajouter un fichier au projet : git add <le_fichier>
  • Pour enregistrer les modifications : git commit <le_fichier>
  • Pour plus de détails : http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git

h2. Fonctionnalités à connaître et exemples d’utilisation

h3. Les branches

Les branches représentent l’une des fonctionnalités les plus puissantes de git. Par défaut toutes les modifications sont faites dans la branche master. C’est la branche principale de votre projet.

L’intérêt des branches est de pouvoir faire de grosses modifications en parallèle sans modifier le code principal. Par exemple, vous voulez implémenter une super idée. Mais super idée va vous demander du temps de développement et de nombreuses modifications dans votre code. Il serait dommage de paralyser la correction de bug et les petites modifications le temps que super idée soit terminée. C’est là que les branches interviennent : vous créez une nouvelle branche et tous les fichiers seront temporairement remplacés par ceux de cette branche.

Vous pouvez à tous moment réintégrer les modifications d’une branche dans master. Vous pouvez également abandonner une branche.

En somme, il devient intéressant de créer une nouvelle branche lorsque :

La modification est longue

La modification est compliquée

L’implémentation de la modification reste un peu floue

Voici les commandes principales associées aux branches :

  • Pour voir toutes vos branches locales, utilisez : git branch. La branche marquée d’une étoile est la branche courante.
  • Pour créer une nouvelle branche : git branch LE_NOM_DE_MA_BRANCHE.
  • Pour changer de branche : git checkout LE_NOM_DE_MA_BRANCHE
    {{important(Vous devez avoir commité toutes vos modifications avant de changer de branche)}}
  • Pour ajouter les changements dans master : git checkout master ; git merge LE_NOM_DE_MA_BRANCHE
  • Pour supprimer une branche : git branch -d LE_NOM_DE_MA_BRANCHE

    Cette commande vérifie avant la suppression que les changements ont bien été ajoutés dans master. Pour supprimer une branche sans cette vérification, utilisez git branch -D LE_NOM_DE_MA_BRANCHE

Il est évidemment possible de travailler à plusieurs sur une branche autre que master. Pour avoir la liste des branches connues par le serveur, utilisez git branch -r. Pour récupérer cette branche en local : git branch --track NOM_BRANCHE_LOCAL origin/NOM_BRANCHE_SERVEUR.

Lorsque vous faîtes un pull, seule la branche dans laquelle vous vous trouvez est synchronisée depuis le serveur

Pour ajouter une nouvelle branche sur le serveur, utilisez : git push origin origin:refs/heads/NOM_NOUVELLE_BRANCHE. Vous pouvez ensuite suivre cette branche avec la commande précédente. Si vous avez tout d’abord créé votre branche en local et que vous désirez l’envoyer sur le serveur :

Créez la branche sur le serveur

Ouvrez .git/config

Copiez la partie [branch "master"]

Remplacez toutes les occurences de "master" par le nom de votre branche

git pull

git push

Normalement, tout est à jour.

Pour supprimer une branche sur le serveur : git push origin :heads/NOM_BRANCHE_A_SUPPRIMER, puis git branch -r -d origin/NOM_BRANCHE_A_SUPPRIMER pour que la branche ne soit plus listée.
Plus d’infos "ici":http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/travailler-avec-des-branches

h3. Les tags

Pour recherche une version plus facilement, vous pouvez tagger un commit avec git tag NOMTAG IDCOMMIT. Vous pourrez ensuite vous référer à ce commit à l’aide de NOMTAG.

Par défaut les tags ne sont pas envoyés lors d’un push. Utilisez git push --tag

h3. La recherche

Grâce à la commande git grep "PATTERN", vous pouvez recherche dans vos fichiers sources.

h3. Ignorer des fichiers

Si vous désirez que certains fichiers ne soient pas pris en compte par git (fichier de sauvegarde de votre éditeur de texte par exemple), créez un fichier .gitignore dans le dossier de votre dépôt. Ajoutez dans ce fichier le nom des fichiers à ignorer (1 par ligne).

ps: merci Julien Enselme pour la rédaction initiale de cette page

Updated by Geoffroy Desvernay over 11 years ago · 18 revisions locked