La doc » Historique » Version 5
Geoffroy Desvernay, 29/05/2013 15:11
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 | 1 | Geoffroy Desvernay | h1. Dépôt 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 | 4 | Geoffroy Desvernay | |
41 | 5 | Geoffroy Desvernay | Pour ajouter des utilisateurs au projet : il faut se rapprocher du CRI. Pour deux raisons : |
42 | 5 | Geoffroy Desvernay | * Les utilisateurs doivent être connus de Redmine |
43 | 5 | Geoffroy Desvernay | * Les utilisateurs doivent avoir les droits de commit. Ceci implique d’être dans le bon groupe Unix. |
44 | 1 | Geoffroy Desvernay | |
45 | 5 | 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).)}} |
46 | 5 | Geoffroy Desvernay | |
47 | 5 | Geoffroy Desvernay | Pour avoir une présentation de git et quelques commandes de base : http://www.llaumgui.com/public/slides/git-github-social-codding/#/ |
48 | 5 | Geoffroy Desvernay | |
49 | 1 | Geoffroy Desvernay | h2. Les clés ssh |
50 | 1 | Geoffroy Desvernay | |
51 | 5 | Geoffroy Desvernay | h3. Sous linux |
52 | 1 | Geoffroy Desvernay | |
53 | 5 | Geoffroy Desvernay | 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. |
54 | 1 | Geoffroy Desvernay | |
55 | 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 : |
56 | 5 | Geoffroy Desvernay | * id_rsa (votre clé privée à conserver précieusement) |
57 | 5 | Geoffroy Desvernay | * id_rsa.pub (votre clé publique à transmettre). |
58 | 1 | Geoffroy Desvernay | |
59 | 5 | 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) : |
60 | 1 | Geoffroy Desvernay | |
61 | 5 | Geoffroy Desvernay | * si la clé est dans votre compte: |
62 | 5 | Geoffroy Desvernay | |
63 | 1 | Geoffroy Desvernay | * <code>cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key</code> |
64 | 1 | Geoffroy Desvernay | |
65 | 5 | Geoffroy Desvernay | * si elle est sur votre machine perso, *au choix* : |
66 | 1 | Geoffroy Desvernay | |
67 | 5 | Geoffroy Desvernay | * <code>ssh-copy-id login@sas1.ec-m.fr</code> |
68 | 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> |
69 | 1 | Geoffroy Desvernay | |
70 | 5 | Geoffroy Desvernay | h3. Sous windows |
71 | 5 | Geoffroy Desvernay | |
72 | 5 | Geoffroy Desvernay | 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. |
73 | 5 | Geoffroy Desvernay | |
74 | 5 | Geoffroy Desvernay | 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é. |
75 | 5 | Geoffroy Desvernay | # Exécutez-le |
76 | 5 | Geoffroy Desvernay | # Cliquez sur _Generate_. |
77 | 5 | Geoffroy Desvernay | # Bouger la souris dans tous les sens. |
78 | 5 | 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. 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.)}} |
79 | 5 | Geoffroy Desvernay | {{important(Les clés générées par puttygen ne sont compatibles qu’avec putty)}} |
80 | 5 | Geoffroy Desvernay | |
81 | 5 | Geoffroy Desvernay | Maintenant, vous devez placer ces clés sur le serveur. Pour cela : |
82 | 5 | Geoffroy Desvernay | # Connecter vous au serveur avec putty |
83 | 5 | Geoffroy Desvernay | # Créer un dossier .ssh (s’il n’existe pas) <code>mkdir ~/.ssh</code> |
84 | 5 | Geoffroy Desvernay | # Ouvrez le fichier authorized_keys (ou créez le) : <code>nano -w ~/.ssh/authorized_keys</code> |
85 | 5 | Geoffroy Desvernay | # Copiez/Collez votre clé publique dedans *sur une seule ligne* |
86 | 5 | Geoffroy Desvernay | # Sauvegardez |
87 | 5 | Geoffroy Desvernay | |
88 | 5 | Geoffroy Desvernay | Ensuite, pour vous connecter au serveur à l’aide de ces clés avec le client putty : |
89 | 5 | Geoffroy Desvernay | # Ouvrez putty |
90 | 5 | Geoffroy Desvernay | # Dans Connexion > SSH > Auth, renseignez votre clé privée. |
91 | 5 | Geoffroy Desvernay | # Connectez vous au serveur comme d’habitude. |
92 | 5 | Geoffroy Desvernay | |
93 | 5 | Geoffroy Desvernay | h2. Installer git |
94 | 5 | Geoffroy Desvernay | |
95 | 5 | Geoffroy Desvernay | h3. Sous Linux |
96 | 5 | Geoffroy Desvernay | |
97 | 5 | Geoffroy Desvernay | Git devrait être présent dans les dépôts de votre distribution. Installez-le comme un autre logiciel. |
98 | 5 | Geoffroy Desvernay | |
99 | 5 | Geoffroy Desvernay | h3. Sous Windows |
100 | 5 | Geoffroy Desvernay | |
101 | 5 | Geoffroy Desvernay | 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. |
102 | 5 | Geoffroy Desvernay | |
103 | 5 | Geoffroy Desvernay | 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. |
104 | 5 | Geoffroy Desvernay | |
105 | 5 | Geoffroy Desvernay | Pour cloner un dépôt : |
106 | 5 | Geoffroy Desvernay | # Allez là où vous désirez le cloner |
107 | 5 | Geoffroy Desvernay | # Clique droit, puis clone |
108 | 5 | Geoffroy Desvernay | # Entrez le chemin du dépôt |
109 | 5 | Geoffroy Desvernay | # Cochez _Load Putty key_ et entrez le chemin de votre clé privé dans ce champ. |
110 | 5 | Geoffroy Desvernay | # Vous êtes opérationnel. |
111 | 5 | Geoffroy Desvernay | |
112 | 5 | Geoffroy Desvernay | Liens complémentaires : |
113 | 5 | Geoffroy Desvernay | * http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/installer-et-configurer-git |
114 | 5 | Geoffroy Desvernay | * http://melusine.eu.org/syracuse/G/git-windows/ |
115 | 5 | Geoffroy Desvernay | |
116 | 1 | Geoffroy Desvernay | h2. Pour cloner le dépôt |
117 | 1 | Geoffroy Desvernay | |
118 | 5 | Geoffroy Desvernay | # Placez-vous là où vous voullez cloner le dépôt |
119 | 1 | Geoffroy Desvernay | # Tapez : <code>git clone ssh://LOGIN@scm.centrale-marseille.fr/srv/git/PROJET/default.git .</code> |
120 | 1 | Geoffroy Desvernay | |
121 | 1 | Geoffroy Desvernay | h2. Commandes basiques de git |
122 | 1 | Geoffroy Desvernay | |
123 | 1 | Geoffroy Desvernay | * Pour récupérer les "nouveautés" : <code>git pull</code> |
124 | 1 | Geoffroy Desvernay | * Pour envoyer ses modifications : <code>git push</code> |
125 | 5 | Geoffroy Desvernay | {{important(*TOUJOURS* faire un pull et régler les éventuels conflits en local avant de faire un push)}} |
126 | 1 | Geoffroy Desvernay | * Pour ajouter un fichier au projet : <code>git add <le_fichier></code> |
127 | 1 | Geoffroy Desvernay | * Pour enregistrer les modifications : <code>git commit <le_fichier></code> |
128 | 1 | Geoffroy Desvernay | * Pour plus de détails : http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git |
129 | 5 | Geoffroy Desvernay | |
130 | 5 | Geoffroy Desvernay | h2. Fonctionnalités à connaître et exemples d’utilisation |
131 | 5 | Geoffroy Desvernay | |
132 | 5 | Geoffroy Desvernay | h3. Les branches |
133 | 5 | Geoffroy Desvernay | |
134 | 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. |
135 | 5 | Geoffroy Desvernay | |
136 | 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. |
137 | 5 | Geoffroy Desvernay | |
138 | 5 | Geoffroy Desvernay | Vous pouvez à tous moment réintégrer les modifications d’une branche dans _master_. Vous pouvez également abandonner une branche. |
139 | 5 | Geoffroy Desvernay | |
140 | 5 | Geoffroy Desvernay | En somme, il devient intéressant de créer une nouvelle branche lorsque : |
141 | 5 | Geoffroy Desvernay | # La modification est longue |
142 | 5 | Geoffroy Desvernay | # La modification est compliquée |
143 | 5 | Geoffroy Desvernay | # L’implémentation de la modification reste un peu floue |
144 | 5 | Geoffroy Desvernay | |
145 | 5 | Geoffroy Desvernay | Voici les commandes principales associées aux branches : |
146 | 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. |
147 | 5 | Geoffroy Desvernay | * Pour créer une nouvelle branche : <code>git branch LE_NOM_DE_MA_BRANCHE</code>. |
148 | 5 | Geoffroy Desvernay | * Pour changer de branche : <code>git checkout LE_NOM_DE_MA_BRANCHE</code> |
149 | 5 | Geoffroy Desvernay | {{important(Vous devez avoir commité toutes vos modifications avant de changer de branche)}} |
150 | 5 | Geoffroy Desvernay | * Pour ajouter les changements dans _master_ : <code>git checkout master ; git merge LE_NOM_DE_MA_BRANCHE</code> |
151 | 5 | Geoffroy Desvernay | * Pour supprimer une branche : <code>git branch -d LE_NOM_DE_MA_BRANCHE</code> |
152 | 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_)}} |
153 | 5 | Geoffroy Desvernay | |
154 | 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>. |
155 | 5 | Geoffroy Desvernay | {{note(Lorsque vous faîtes un pull, seule la branche dans laquelle vous vous trouvez est synchronisée depuis le serveur)}} |
156 | 5 | Geoffroy Desvernay | |
157 | 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 : |
158 | 5 | Geoffroy Desvernay | # Créez la branche sur le serveur |
159 | 5 | Geoffroy Desvernay | # Ouvrez .git/config |
160 | 5 | Geoffroy Desvernay | # Copiez la partie [branch "master"] |
161 | 5 | Geoffroy Desvernay | # Remplacez toutes les occurences de "master" par le nom de votre branche |
162 | 5 | Geoffroy Desvernay | # <code>git pull</code> |
163 | 5 | Geoffroy Desvernay | # <code>git push</code> |
164 | 5 | Geoffroy Desvernay | # Normalement, tout est à jour. |
165 | 5 | Geoffroy Desvernay | |
166 | 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. |
167 | 5 | Geoffroy Desvernay | Plus d’infos "ici":http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/travailler-avec-des-branches |
168 | 5 | Geoffroy Desvernay | |
169 | 5 | Geoffroy Desvernay | h3. Les tags |
170 | 5 | Geoffroy Desvernay | |
171 | 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. |
172 | 5 | Geoffroy Desvernay | |
173 | 5 | Geoffroy Desvernay | {{note(Par défaut les tags ne sont pas envoyés lors d’un push. Utilisez _git push --tag_)}} |
174 | 5 | Geoffroy Desvernay | |
175 | 5 | Geoffroy Desvernay | h3. La recherche |
176 | 5 | Geoffroy Desvernay | |
177 | 5 | Geoffroy Desvernay | Grâce à la commande <code>git grep "PATTERN"</code>, vous pouvez recherche dans vos fichiers sources. |
178 | 5 | Geoffroy Desvernay | |
179 | 5 | Geoffroy Desvernay | h3. Ignorer des fichiers |
180 | 5 | Geoffroy Desvernay | |
181 | 5 | 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). |
182 | 3 | Geoffroy Desvernay | |
183 | 3 | Geoffroy Desvernay | {{note(ps: merci Julien Enselme pour la rédaction initiale de cette page)}} |