Projet

Général

Profil

La doc » Historique » Version 7

Geoffroy Desvernay, 20/09/2013 16:37

1 5 Geoffroy Desvernay
{{toc}}
2 1 Geoffroy Desvernay
3 5 Geoffroy Desvernay
h1. Présentation de la forge
4 5 Geoffroy Desvernay
5 5 Geoffroy Desvernay
La forge peut vous aider dans tous vos projets logiciels. Elle dispose :
6 5 Geoffroy Desvernay
7 5 Geoffroy Desvernay
* 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.
8 5 Geoffroy Desvernay
* 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.
9 5 Geoffroy Desvernay
* D’un _Gantt_ qui se complète automatiquement à partir du système de tâche. Il est exportable en pdf.
10 5 Geoffroy Desvernay
* D’un calendrier qui se complète automatiquement à partir du système de tâche.
11 5 Geoffroy Desvernay
* D’un système d’ _Annonces_ pour communiquer avec l’extérieur.
12 5 Geoffroy Desvernay
* 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.
13 5 Geoffroy Desvernay
* 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.
14 5 Geoffroy Desvernay
* 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,…
15 5 Geoffroy Desvernay
16 5 Geoffroy Desvernay
Bonne utilisation !
17 5 Geoffroy Desvernay
18 5 Geoffroy Desvernay
h1. Wiki
19 5 Geoffroy Desvernay
20 1 Geoffroy Desvernay
Pour créer une nouvelle page, il suffit de se rendre à l’adresse de la page que l’on veut créer.
21 1 Geoffroy Desvernay
22 1 Geoffroy Desvernay
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.
23 1 Geoffroy Desvernay
24 5 Geoffroy Desvernay
Pour ajouter une table des matières, entrez <pre>{{toc}}</pre>
25 1 Geoffroy Desvernay
26 1 Geoffroy Desvernay
Vous pouvez aussi recevoir des notifications par mails en cliquant sur _watch_ ou _surveiller_.
27 1 Geoffroy Desvernay
28 5 Geoffroy Desvernay
Pour ajouter des notes, utilisez les balises suivantes :
29 1 Geoffroy Desvernay
30 5 Geoffroy Desvernay
<pre>
31 5 Geoffroy Desvernay
    {{note(text)}}
32 5 Geoffroy Desvernay
    {{tip(text)}}
33 5 Geoffroy Desvernay
    {{important(text)}}
34 5 Geoffroy Desvernay
    {{warning(text)}}
35 5 Geoffroy Desvernay
</pre>
36 1 Geoffroy Desvernay
37 6 Geoffroy Desvernay
h1. Utilisation de Git
38 1 Geoffroy Desvernay
39 1 Geoffroy Desvernay
Adresse du dépôt git : LOGIN@scm.centrale-marseille.fr:/srv/git/PROJET/default.git
40 1 Geoffroy Desvernay
41 6 Geoffroy Desvernay
Pour ajouter des utilisateurs au projet, il faut se rapprocher du CRI. Pour deux raisons :
42 6 Geoffroy Desvernay
43 1 Geoffroy Desvernay
* Les utilisateurs doivent être connus de Redmine
44 5 Geoffroy Desvernay
* Les utilisateurs doivent avoir les droits de commit. Ceci implique d’être dans le bon groupe Unix.
45 1 Geoffroy Desvernay
46 6 Geoffroy Desvernay
{{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).)}}
47 5 Geoffroy Desvernay
48 1 Geoffroy Desvernay
Pour avoir une présentation de git et quelques commandes de base : http://www.llaumgui.com/public/slides/git-github-social-codding/#/
49 1 Geoffroy Desvernay
50 1 Geoffroy Desvernay
h2. Les clés ssh
51 1 Geoffroy Desvernay
52 6 Geoffroy Desvernay
h3. Généralités sur ssh
53 1 Geoffroy Desvernay
54 6 Geoffroy Desvernay
Les clés ssh sont une application de la cryptographie asymétrique dans le but de se connecter à une machine distante. Explications :
55 1 Geoffroy Desvernay
56 6 Geoffroy Desvernay
L'utilisateur A désire se connecter au serveur ECM de façon sécurisée sans avoir à entrer en permance un mot de passe (qui peut s'oublier, être découvert). Pour cela, il va générer une paire de clés ssh :
57 6 Geoffroy Desvernay
58 6 Geoffroy Desvernay
* une clé privée qu'il gardera précieusement
59 6 Geoffroy Desvernay
* une clé publique à placer sur le serveur.
60 6 Geoffroy Desvernay
61 6 Geoffroy Desvernay
Pour placer ladite clé sur le serveur, il faut (en général) s'y connecter par mot de passe.
62 6 Geoffroy Desvernay
63 6 Geoffroy Desvernay
Lorsque A va vouloir se connecter à ECM, son client ssh va tout d'abord regarder si des clés sont disponibles. Ici, A va tenter de se connecter avec sa clé privée. Comme sa clé publique est sur le serveur et qu'un couple de clés est unique, ECM sait que celui qui veut se connecter est A. Il autorise donc la connection.
64 6 Geoffroy Desvernay
65 6 Geoffroy Desvernay
Notons enfin que lors de la première tentative de connection au serveur, le client demande si on désire accepter la clé publique du serveur. Celle-ci va en effet être utilisée pour le reconnaitre par la suite. Il est évidemment recommandé de ne pas accepter de clés de serveur inconnus.
66 6 Geoffroy Desvernay
67 6 Geoffroy Desvernay
h3. ssh sous GNU/Linux et autres Unix (*BSD, MacOS, etc.)
68 6 Geoffroy Desvernay
69 6 Geoffroy Desvernay
L'accès au dépôt se fait par clés ssh. Vous devez donc autoriser la connection à l'aide de votre paire de clé (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).
70 6 Geoffroy Desvernay
71 5 Geoffroy Desvernay
Pour créer une paire de clé ssh, lancez la commande : <code>ssh-keygen</code>. Ceci crée deux fichiers dans votre ~/.ssh :
72 6 Geoffroy Desvernay
73 1 Geoffroy Desvernay
* id_rsa (votre clé privée à conserver précieusement)
74 1 Geoffroy Desvernay
* id_rsa.pub (votre clé publique à transmettre).
75 1 Geoffroy Desvernay
76 6 Geoffroy Desvernay
Commande pour créer une paire de clés ssh dans un fichier dont on choisit le nom et le commentaire directement : <code>ssh-keygen -f nom_du_fichier -C commentaire</code>
77 5 Geoffroy Desvernay
78 6 Geoffroy Desvernay
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) :
79 6 Geoffroy Desvernay
80 1 Geoffroy Desvernay
* si la clé est dans votre compte:
81 5 Geoffroy Desvernay
82 1 Geoffroy Desvernay
 * <code>cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key</code>
83 1 Geoffroy Desvernay
84 1 Geoffroy Desvernay
* si elle est sur votre machine perso, *au choix* :
85 1 Geoffroy Desvernay
86 6 Geoffroy Desvernay
 * <code>ssh-copy-id login@sas1.ec-m.fr</code> (recommandé)
87 6 Geoffroy Desvernay
 * <code>ssh-copy-id -i nom_du_fichier_sans_extension_pub login@sas1.ec-m.fr</code> *si vous avez votre clé dans un autre fichier que id_rsa* (recommandé)
88 1 Geoffroy Desvernay
 * <code>cat ~/.ssh/id_rsa.pub | ssh LOGIN@sas1.ec-m.fr 'mkdir -m 700 -p ~/.ssh ; cat >> .ssh/authorized_keys'</code>
89 1 Geoffroy Desvernay
90 6 Geoffroy Desvernay
Vous pouvez avoir plusieurs couple de clés ssh sur votre machine (une par serveur par exemple). Auquel cas, leur donner un nom plus explicite peut s'avérer utile.
91 1 Geoffroy Desvernay
92 6 Geoffroy Desvernay
Dans votre dossier _.ssh_, vous pouvez aussi créer un fichier _config_ pour, entre autre chose, créer un alias d'hôte ce qui vous évitera de taper par exemple _ssh assos@sas1.centrale-marseille.fr_ mais juste _ssh drupal_ (vous pourriez aussi utiliser un alias bash ou affilié pour atteindre ce but). Cette configuration est aussi valable avec scp et peut vous procurer une complétion des chemins sur l'hôte distant.
93 1 Geoffroy Desvernay
94 6 Geoffroy Desvernay
Si vous avez plusieurs clés sur votre machine, le fichier config s'avèrera obligatoire sinon, la bonne clé ne sera pas utilisée. exemple de fichier ~/.ssh/config :
95 6 Geoffroy Desvernay
96 6 Geoffroy Desvernay
<pre>
97 6 Geoffroy Desvernay
<code>
98 6 Geoffroy Desvernay
host          drupal
99 6 Geoffroy Desvernay
  hostname      sas1.centrale-marseille.fr
100 6 Geoffroy Desvernay
  IdentityFile  ~/.ssh/nom_du_fichier_sans_extension_pub
101 6 Geoffroy Desvernay
  user          assos
102 6 Geoffroy Desvernay
  port          22
103 6 Geoffroy Desvernay
</code>
104 6 Geoffroy Desvernay
</pre>
105 6 Geoffroy Desvernay
106 6 Geoffroy Desvernay
Si vous avez créé une clé avec une passphrase, celle-ci vous sera demandé à chaque connexion. Il existe des logiciels comme "ssh-agent":http://en.wikipedia.org/wiki/Ssh-agent pour la stocker en mémoire temporairement.
107 6 Geoffroy Desvernay
108 6 Geoffroy Desvernay
h3. ssh sous windows
109 6 Geoffroy Desvernay
110 6 Geoffroy Desvernay
{{important(Pour utiliser ssh avec git, nous recommandons de lire [[Utilisation_de_Git#git-sous-Windows|git sous windows avant. Ce paragraphe est surtout intéressant pour une utilisation "stand-alone" de ssh.]])}}
111 6 Geoffroy Desvernay
112 6 Geoffroy Desvernay
Windows ne fournit pas de client ssh par défaut. Vous devez tout d'abord en installer un. Nous vous recommandons "putty":http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html qui s'exécute directement dans le dossier où il est. 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.
113 6 Geoffroy Desvernay
114 6 Geoffroy Desvernay
Néanmoins, ceci ne vous permet que d’avoir une console et pas de générer des clés.
115 6 Geoffroy Desvernay
116 6 Geoffroy Desvernay
C'est le programme puttygen (disponible "ici":http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) qui va s'en charger.
117 6 Geoffroy Desvernay
118 5 Geoffroy Desvernay
# Exécutez-le
119 1 Geoffroy Desvernay
# Cliquez sur _Generate_.
120 6 Geoffroy Desvernay
# Bouger la souris dans tous les sens (pour ajouter de l'entropie très difficile à obtenir avec une machine par nature déterministe).
121 6 Geoffroy Desvernay
# 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 (vote identifiant CAS par exemple). Cela permettra de distinguer les clés ssh sur le serveur. {{note(Donnez leur un nom qui vous permette de les distinguer. Par exemple, key pour votre clé privé et key.pub pour votre clé publique.)}}
122 5 Geoffroy Desvernay
{{important(Les clés générées par puttygen ne sont compatibles qu’avec putty)}}
123 1 Geoffroy Desvernay
124 1 Geoffroy Desvernay
Maintenant, vous devez placer ces clés sur le serveur. Pour cela :
125 6 Geoffroy Desvernay
126 6 Geoffroy Desvernay
# Connecter vous au serveur avec putty en entrant vote mot de passe
127 1 Geoffroy Desvernay
# Créer un dossier .ssh (s’il n’existe pas) <code>mkdir ~/.ssh</code>
128 1 Geoffroy Desvernay
# Ouvrez le fichier authorized_keys (ou créez le) : <code>nano -w ~/.ssh/authorized_keys</code>
129 6 Geoffroy Desvernay
# Copiez/Collez votre clé publique dedans *sur une seule ligne* avec le commentaire *à la fin* séparé *par une espace* du reste de la ligne.
130 1 Geoffroy Desvernay
# Sauvegardez
131 1 Geoffroy Desvernay
132 1 Geoffroy Desvernay
Ensuite, pour vous connecter au serveur à l’aide de ces clés avec le client putty :
133 6 Geoffroy Desvernay
134 1 Geoffroy Desvernay
# Ouvrez putty
135 1 Geoffroy Desvernay
# Dans Connexion > SSH > Auth, renseignez votre clé privée.
136 1 Geoffroy Desvernay
# Connectez vous au serveur comme d’habitude.
137 1 Geoffroy Desvernay
138 6 Geoffroy Desvernay
h2. git sous Linux et autres Unix
139 1 Geoffroy Desvernay
140 6 Geoffroy Desvernay
h3. Installer git sous Linux
141 1 Geoffroy Desvernay
142 6 Geoffroy Desvernay
Git devrait être présent dans les dépôts de votre distribution. Installez-le comme un autre logiciel. Il existe de nombreuses interfaces graphiques tel que la très complète "cola-git":http://git-cola.github.io ou la moins développée "qgit":http://sourceforge.net/projects/qgit/.
143 1 Geoffroy Desvernay
144 6 Geoffroy Desvernay
h3. Utiliser git sous linux
145 1 Geoffroy Desvernay
146 6 Geoffroy Desvernay
Classiquement, sous linux, on utilise git en ligne de commande. Voir [[Utilisation_de_Git#Pour-cloner-le-dépôt|comment cloner le dépôt]] et [[Utilisation_de_Git#Commandes-basiques-de-git|les commandes basiques de git]]. Vous pouvez également utiliser l’une des interfaces plus ou moins complètes citées ci-avant.
147 1 Geoffroy Desvernay
148 6 Geoffroy Desvernay
h2. git sous Windows
149 1 Geoffroy Desvernay
150 6 Geoffroy Desvernay
h3. Installer git sous Windows
151 1 Geoffroy Desvernay
152 6 Geoffroy Desvernay
Il faut tout d’abord installer git, puis installer une interface à git qui facilite sont utilisation en environnement non Unix.
153 6 Geoffroy Desvernay
154 6 Geoffroy Desvernay
Pour installer git, téléchargez msysgit par "ici":http://code.google.com/p/msysgit/. Installez le avec les paramètres par défaut (ne pas toucher aux composants à installer, puis sur les écrans suivant : _Use Git Bash only_, _Use OpenSSH_ et _Checkout Windows-style, commit Unix-style line endings_).
155 6 Geoffroy Desvernay
156 6 Geoffroy Desvernay
Vous avez alors un environnement qui vous permet d’utiliser git en ligne de commande via _Git bash_ ou en mode graphique (mais de façon assez basique) via _Git GUI_.
157 6 Geoffroy Desvernay
158 6 Geoffroy Desvernay
Nous allons maintenant créer des clés ssh. Ces clés vont vous permettre d’utiliser git facilement sur les serveurs de l’école. Vous pouvez passer cette étape et toutes celles concernant ssh pour une installation en local. Remplacez LOGIN par votre login CAS de Centrale Marseille. Pour générer les clés :
159 6 Geoffroy Desvernay
160 6 Geoffroy Desvernay
# Lancez _Git Bash_
161 6 Geoffroy Desvernay
# Tapez les commandes suivantes dans l’interpréteur :
162 6 Geoffroy Desvernay
163 6 Geoffroy Desvernay
 # Pour générer la clé, en laissant les options par défaut (appuyer trois fois sur _Entrée_) : @ssh-keygen -C LOGIN@
164 6 Geoffroy Desvernay
 # Pour copier la clé sur le serveur (*attention aux apostrophes*). Si c’est la première fois que vous vous connectez au serveur, il vous sera demandé d’accepter sa clé. Répondez _yes_ le cas échéant. : @cat ~/.ssh/id_rsa.pub | ssh LOGIN@sas1.ec-m.fr 'mkdir -m 700 -p ~/.ssh ; cat >> .ssh/authorized_keys'@
165 6 Geoffroy Desvernay
 # Tester que tout va bien avec : @ssh LOGIN@sas1.centrale-marseille.fr@. On ne vous demande pas votre mot de passe et vous devriez tomber dans une invite de commande. Il est possible que vous ayez à entrer votre passphrase. Pour plus d’infos voir [[Utilisation_de_Git#ssh-sous-GNULinux-et-autres-Unix-BSD-MacOS-etc|utilisation de SSH sous Unix]].
166 6 Geoffroy Desvernay
167 6 Geoffroy Desvernay
{{important(Pensez à sauvegarder sur *un support sécurisé* le dossier .ssh. Il contient votre clé privée *à ne pas diffuser* et votre clé publique)}}
168 6 Geoffroy Desvernay
169 6 Geoffroy Desvernay
Afin de vous faciliter la vie, installez également TortoiseGit. C’est une interface à git grâce à laquelle vous pourrez utiliser git et vos clés ssh plus facilement. Téléchargez le logiciel (disponible en version 32 et 64 bits) "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 :
170 6 Geoffroy Desvernay
# Le chemin vers msysgit (si vous l’avez installer ailleurs que dans le chemin par défaut)
171 6 Geoffroy Desvernay
# Dans l’onglet _Network_, entrez /bin/ssh.exe dans le champ _SSH client_
172 6 Geoffroy Desvernay
# Dans l’onglet _git_, entrez votre nom et votre adresse mail.
173 6 Geoffroy Desvernay
# *Utilisateurs avancé* : sous l’onglet git, vous pouvez éditer votre .gitconfig directement.
174 6 Geoffroy Desvernay
# Enregistrez
175 6 Geoffroy Desvernay
176 6 Geoffroy Desvernay
h3. Utilisez git sous Windows
177 6 Geoffroy Desvernay
178 6 Geoffroy Desvernay
Pour cloner un dépôt : utilisez _Git Gui_ (TortoiseGit renvoie une erreur lorsque vous tentez de cloner avec ssh) :
179 6 Geoffroy Desvernay
# Lancer _Git GUI_
180 6 Geoffroy Desvernay
# Cliquez sur _cloner un dépôt_
181 6 Geoffroy Desvernay
# Dans _source_ entrez : @ssh://LOGIN@scm.centrale-marseille.fr/srv/git/NOM_DE_VOTRE_PROJET/default.git
182 6 Geoffroy Desvernay
# Dans _Destination_ entrez le chemin du dossier dans lequel vous voulez cloner le dépôt.
183 6 Geoffroy Desvernay
# Clonez
184 6 Geoffroy Desvernay
185 6 Geoffroy Desvernay
Pour toute les autres opérations, TortoiseGit fonctionne très bien. Faîtes un clic droit dans le dossier ou sur un fichier et vous aurez sous le menu TortoiseGit toutes les options disponibles : @git pull@ pour récupérer les données depuis le serveur, @git push@ pour les envoyer (*toujours faire un @git pull@ avant de faire un @git push@ pour éviter les conflits sur le serveur*), @git commit@ pour enregistrer vos modifications dans git,…
186 6 Geoffroy Desvernay
187 6 Geoffroy Desvernay
h2. Liens complémentaires
188 6 Geoffroy Desvernay
189 5 Geoffroy Desvernay
* http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/installer-et-configurer-git
190 1 Geoffroy Desvernay
* http://melusine.eu.org/syracuse/G/git-windows/
191 6 Geoffroy Desvernay
* Liste d’interfaces pour git : http://git-scm.com/downloads/guis
192 1 Geoffroy Desvernay
193 1 Geoffroy Desvernay
h2. Pour cloner le dépôt
194 1 Geoffroy Desvernay
195 1 Geoffroy Desvernay
# Placez-vous là où vous voullez cloner le dépôt
196 5 Geoffroy Desvernay
# Tapez : <code>git clone ssh://LOGIN@scm.centrale-marseille.fr/srv/git/PROJET/default.git .</code>
197 1 Geoffroy Desvernay
198 1 Geoffroy Desvernay
h2. Commandes basiques de git
199 1 Geoffroy Desvernay
200 5 Geoffroy Desvernay
* Pour récupérer les "nouveautés" : <code>git pull</code>
201 5 Geoffroy Desvernay
* Pour envoyer ses modifications : <code>git push</code>
202 5 Geoffroy Desvernay
{{important(*TOUJOURS* faire un pull et régler les éventuels conflits en local avant de faire un push)}}
203 5 Geoffroy Desvernay
* Pour ajouter un fichier au projet : <code>git add <le_fichier></code>
204 5 Geoffroy Desvernay
* Pour enregistrer les modifications : <code>git commit <le_fichier></code>
205 5 Geoffroy Desvernay
* Pour plus de détails : http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git
206 5 Geoffroy Desvernay
207 5 Geoffroy Desvernay
h2. Fonctionnalités à connaître et exemples d’utilisation
208 5 Geoffroy Desvernay
209 5 Geoffroy Desvernay
h3. Les branches
210 5 Geoffroy Desvernay
211 5 Geoffroy Desvernay
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.
212 5 Geoffroy Desvernay
213 5 Geoffroy Desvernay
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.
214 5 Geoffroy Desvernay
215 5 Geoffroy Desvernay
Vous pouvez à tous moment réintégrer les modifications d’une branche dans _master_. Vous pouvez également abandonner une branche.
216 5 Geoffroy Desvernay
217 5 Geoffroy Desvernay
En somme, il devient intéressant de créer une nouvelle branche lorsque :
218 5 Geoffroy Desvernay
# La modification est longue
219 5 Geoffroy Desvernay
# La modification est compliquée
220 5 Geoffroy Desvernay
# L’implémentation de la modification reste un peu floue
221 5 Geoffroy Desvernay
222 5 Geoffroy Desvernay
Voici les commandes principales associées aux branches :
223 5 Geoffroy Desvernay
* Pour voir toutes vos branches locales, utilisez : <code>git branch</code>. La branche marquée d’une étoile est la branche courante.
224 5 Geoffroy Desvernay
* Pour créer une nouvelle branche : <code>git branch LE_NOM_DE_MA_BRANCHE</code>.
225 5 Geoffroy Desvernay
* Pour changer de branche : <code>git checkout LE_NOM_DE_MA_BRANCHE</code>
226 5 Geoffroy Desvernay
{{important(Vous devez avoir commité toutes vos modifications avant de changer de branche)}}
227 5 Geoffroy Desvernay
* Pour ajouter les changements dans _master_ : <code>git checkout master ; git merge LE_NOM_DE_MA_BRANCHE</code>
228 5 Geoffroy Desvernay
* Pour supprimer une branche : <code>git branch -d LE_NOM_DE_MA_BRANCHE</code>
229 5 Geoffroy Desvernay
{{note(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_)}}
230 5 Geoffroy Desvernay
231 5 Geoffroy Desvernay
Il est évidemment possible de travailler à plusieurs sur une branche autre que master. Pour avoir la liste des branches connues par le serveur, utilisez <code>git branch -r</code>. Pour récupérer cette branche en local : <code>git branch --track NOM_BRANCHE_LOCAL origin/NOM_BRANCHE_SERVEUR</code>.
232 5 Geoffroy Desvernay
{{note(Lorsque vous faîtes un pull, seule la branche dans laquelle vous vous trouvez est synchronisée depuis le serveur)}}
233 5 Geoffroy Desvernay
234 5 Geoffroy Desvernay
Pour ajouter une nouvelle branche sur le serveur, utilisez : <code>git push origin origin:refs/heads/NOM_NOUVELLE_BRANCHE</code>. 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 :
235 5 Geoffroy Desvernay
# Créez la branche sur le serveur
236 5 Geoffroy Desvernay
# Ouvrez .git/config
237 5 Geoffroy Desvernay
# Copiez la partie [branch "master"]
238 5 Geoffroy Desvernay
# Remplacez toutes les occurences de "master" par le nom de votre branche
239 5 Geoffroy Desvernay
# <code>git pull</code>
240 5 Geoffroy Desvernay
# <code>git push</code>
241 5 Geoffroy Desvernay
# Normalement, tout est à jour.
242 5 Geoffroy Desvernay
243 5 Geoffroy Desvernay
Pour supprimer une branche sur le serveur : <code>git push origin :heads/NOM_BRANCHE_A_SUPPRIMER</code>, puis <code>git branch -r -d origin/NOM_BRANCHE_A_SUPPRIMER</code> pour que la branche ne soit plus listée.
244 5 Geoffroy Desvernay
Plus d’infos "ici":http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/travailler-avec-des-branches
245 5 Geoffroy Desvernay
246 5 Geoffroy Desvernay
h3. Les tags
247 5 Geoffroy Desvernay
248 5 Geoffroy Desvernay
Pour recherche une version plus facilement, vous pouvez tagger un commit avec <code>git tag NOMTAG IDCOMMIT</code>. Vous pourrez ensuite vous référer à ce commit à l’aide de NOMTAG.
249 5 Geoffroy Desvernay
250 5 Geoffroy Desvernay
{{note(Par défaut les tags ne sont pas envoyés lors d’un push. Utilisez _git push --tag_)}}
251 5 Geoffroy Desvernay
252 5 Geoffroy Desvernay
h3. La recherche
253 3 Geoffroy Desvernay
254 3 Geoffroy Desvernay
Grâce à la commande <code>git grep "PATTERN"</code>, vous pouvez recherche dans vos fichiers sources.
255 1 Geoffroy Desvernay
256 1 Geoffroy Desvernay
h3. Ignorer des fichiers
257 1 Geoffroy Desvernay
258 1 Geoffroy Desvernay
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).
259 1 Geoffroy Desvernay
{{note(ps: merci Julien Enselme pour la rédaction initiale de cette page)}}