Projet

Général

Profil

Utilisation de Redmine » Historique » Version 35

Julien Enselme, 28/04/2013 22:55

1 9 Julien Enselme
{{toc}}
2 19 Ismaeil Abouljamal
3 21 Ismaeil Abouljamal
h1. Wiki d'utilisation du projet multi-assos
4 18 Ismaeil Abouljamal
5 18 Ismaeil Abouljamal
Voir le lien [[Utilisation_de_Drupal_multi-site]]
6 9 Julien Enselme
7 3 Julien Enselme
h1. Wiki
8 3 Julien Enselme
9 3 Julien Enselme
Pour créer une nouvelle page, il suffit de se rendre à l’adresse de la page que l’on veut créer.
10 3 Julien Enselme
11 8 Julien Enselme
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.
12 9 Julien Enselme
13 9 Julien Enselme
Pour ajouter une table des matières, entrez <pre>{{toc}}</pre>
14 3 Julien Enselme
15 22 Julien Enselme
Vous pouvez aussi recevoir des notifications par mails en cliquant sur _watch_ ou _surveiller_.
16 1 Julien Enselme
17 22 Julien Enselme
Pour ajouter des notes, utilisez les balises suivantes :
18 22 Julien Enselme
19 22 Julien Enselme
<pre>
20 22 Julien Enselme
    {{note(text)}}
21 22 Julien Enselme
    {{tip(text)}}
22 22 Julien Enselme
    {{important(text)}}
23 1 Julien Enselme
    {{warning(text)}}
24 22 Julien Enselme
</pre>
25 1 Julien Enselme
26 22 Julien Enselme
h1. Dépôt git
27 22 Julien Enselme
28 24 Julien Enselme
Adresse du dépôt git : LOGIN@scm.centrale-marseille.fr:/srv/git/PROJET/default.git
29 2 Julien Enselme
30 24 Julien Enselme
Pour ajouter des utilisateurs au projet : il faut se rapprocher du CRI. Pour deux raisons :
31 1 Julien Enselme
* Les utilisateurs doivent être connus de Redmine
32 1 Julien Enselme
* Les utilisateurs doivent avoir les droits de commit. Ceci implique d’être dans le bon groupe Unix.
33 1 Julien Enselme
34 24 Julien Enselme
{{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).)}}
35 1 Julien Enselme
36 1 Julien Enselme
h2. Les clés ssh
37 1 Julien Enselme
38 24 Julien Enselme
h3. Sous linux
39 1 Julien Enselme
40 24 Julien Enselme
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.
41 24 Julien Enselme
42 8 Julien Enselme
Pour créer une paire de clé ssh, lancez la commande : <code>ssh-keygen</code>. Ceci crée deux fichiers dans votre ~/.ssh : id_rsa (votre clé privée à conserver précieusement) et id_rsa.pub (votre clé publique à transmettre).
43 1 Julien Enselme
44 24 Julien Enselme
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) :
45 1 Julien Enselme
46 24 Julien Enselme
* si la clé est dans votre compte:
47 1 Julien Enselme
48 8 Julien Enselme
 * <code>cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key</code>
49 15 Geoffroy Desvernay
50 24 Julien Enselme
* si elle est sur votre machine perso, *au choix* :
51 1 Julien Enselme
52 1 Julien Enselme
 * <code>ssh-copy-id login@sas1.ec-m.fr</code>
53 24 Julien Enselme
 * <code>cat ~/.ssh/id_rsa.pub | ssh LOGIN@sas1.ec-m.fr 'mkdir -m 700 -p ~/.ssh ; cat >> .ssh/authorized_keys'</code>
54 1 Julien Enselme
55 24 Julien Enselme
h3. Sous windows
56 24 Julien Enselme
57 24 Julien Enselme
Installer 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.
58 24 Julien Enselme
59 25 Julien Enselme
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é.
60 25 Julien Enselme
# Exécutez-le
61 25 Julien Enselme
# Cliquez sur _Generate_.
62 25 Julien Enselme
# Bouger la souris dans tous les sens.
63 26 Julien Enselme
# Sauvegardez votre clé publique et votre clé privé 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.)}}
64 25 Julien Enselme
{{important(Les clés générées par puttygen ne sont compatibles qu’avec putty)}}
65 25 Julien Enselme
66 25 Julien Enselme
Maintenant, vous devez placer ces clés sur le serveur. Pour cela :
67 25 Julien Enselme
# Connecter vous au serveur avec putty
68 25 Julien Enselme
# Créer un dossier .ssh (s’il n’existe pas) <code>mkdir ~/.ssh</code>
69 25 Julien Enselme
# Ouvrez le fichier authorized_keys (ou créez le) : <code>nano -w ~/.ssh/authorized_keys</code>
70 28 Julien Enselme
# Copiez/Collez votre clé publique dedans *sur une seule ligne*
71 25 Julien Enselme
# Sauvegardez
72 25 Julien Enselme
73 25 Julien Enselme
Ensuite, pour vous connecter au serveur à l’aide de ces clés avec le client putty :
74 25 Julien Enselme
# Ouvrir putty
75 25 Julien Enselme
# Dans Connexion > SSH > Auth, renseignez votre clé privée.
76 25 Julien Enselme
# Connecté vous au serveur comme d’habitude.
77 25 Julien Enselme
78 25 Julien Enselme
h2. Installer git
79 25 Julien Enselme
80 25 Julien Enselme
h3. Sous Linux
81 25 Julien Enselme
82 25 Julien Enselme
Git devrait être présent dans les dépôts de votre distribution. Installez-le comme un autre logiciel.
83 25 Julien Enselme
84 25 Julien Enselme
h3. Sous Windows
85 25 Julien Enselme
86 29 Julien Enselme
Il faut tout d’abord installer git. Télécharger msysgit par "ici":http://code.google.com/p/msysgit/. Installez le avec les paramètres par défaut.
87 29 Julien Enselme
88 29 Julien Enselme
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, puis allez dans _TortoiseGit > Settings_. Entrez le chemin vers msysgit comme demandé puis sauvegardez.
89 29 Julien Enselme
90 29 Julien Enselme
Pour cloner un dépôt :
91 29 Julien Enselme
# Allez là où vous désirez le cloner
92 29 Julien Enselme
# Clique droit, puis clone
93 29 Julien Enselme
# Entrez le chemin du dépôt
94 29 Julien Enselme
# Cocher _Load Putty key_ et entrez le chemin de votre clé privé dans ce champ.
95 29 Julien Enselme
# Vous êtes opérationnel.
96 29 Julien Enselme
97 29 Julien Enselme
Liens complémentaires :
98 29 Julien Enselme
* http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/installer-et-configurer-git
99 29 Julien Enselme
* http://melusine.eu.org/syracuse/G/git-windows/
100 24 Julien Enselme
101 1 Julien Enselme
h2. Pour cloner le dépôt
102 3 Julien Enselme
103 27 Julien Enselme
# Placez-vous là où on veut cloner le dépôt
104 24 Julien Enselme
# Tapez : <code>git clone ssh://LOGIN@scm.centrale-marseille.fr/srv/git/PROJET/default.git .</code>
105 24 Julien Enselme
106 32 Julien Enselme
h2. Commandes basiques de git
107 32 Julien Enselme
108 32 Julien Enselme
* Pour récupérer les "nouveautés" : <code>git pull</code>
109 32 Julien Enselme
* Pour envoyer ses modifications : <code>git push</code>
110 33 Julien Enselme
{{important(*TOUJOURS* faire un pull et régler les éventuels conflits en local avant de faire un push)}}
111 32 Julien Enselme
* Pour ajouter un fichier au projet : <code>git add <le_fichier></code>
112 32 Julien Enselme
* Pour enregistrer les modifications : <code>git commit <le_fichier></code>
113 32 Julien Enselme
* Pour plus de détails : http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git
114 32 Julien Enselme
115 24 Julien Enselme
h2. Fonctionnalités à connaître et exemple d’utilisation
116 24 Julien Enselme
117 30 Julien Enselme
h3. Les branches
118 30 Julien Enselme
119 31 Julien Enselme
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.
120 31 Julien Enselme
121 31 Julien Enselme
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.
122 31 Julien Enselme
123 31 Julien Enselme
Vous pouvez à tous moment réintégrer les modifications d’une branche dans _master_. Vous pouvez également abandonner une branche.
124 31 Julien Enselme
125 31 Julien Enselme
En somme, il devient intéressant de créer une nouvelle branche lorsque :
126 31 Julien Enselme
# La modification est longue
127 31 Julien Enselme
# La modification est compliquée
128 31 Julien Enselme
# L’implémentation de la modification reste un peu floue
129 31 Julien Enselme
130 31 Julien Enselme
Voici les commandes principales associées aux branches :
131 31 Julien Enselme
* Pour voir toutes vos branches locales, utilisez : <code>git branch</code>. La branche marquée d’une étoile est la branche courante.
132 31 Julien Enselme
* Pour créer une nouvelle branche : <code>git branch LE_NOM_DE_MA_BRANCHE</code>.
133 31 Julien Enselme
* Pour changer de branche : <code>git checkout LE_NOM_DE_MA_BRANCHE</code>
134 34 Julien Enselme
{{important(Vous devez avoir commité toutes vos modifications avant de changer de branche)}}
135 31 Julien Enselme
* Pour ajouter les changements dans _master_ : <code>git checkout master ; git merge LE_NOM_DE_MA_BRANCHE</code>
136 31 Julien Enselme
* Pour supprimer une branche : <code>git branch -d LE_NOM_DE_MA_BRANCHE</code>
137 31 Julien Enselme
{{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_)}}
138 31 Julien Enselme
139 31 Julien Enselme
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>.
140 31 Julien Enselme
{{note(Lorsque vous faîtes un pull, seule la branche dans laquelle vous vous trouvez est synchronisée depuis le serveur)}}
141 31 Julien Enselme
142 35 Julien Enselme
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 :
143 31 Julien Enselme
# Créez la branche sur le serveur
144 31 Julien Enselme
# Ouvrez .git/config
145 31 Julien Enselme
# Copiez la partie [branch "master"]
146 31 Julien Enselme
# Remplacez toutes les occurences de "master" par le nom de votre branche
147 31 Julien Enselme
# <code>git pull</code>
148 31 Julien Enselme
# <code>git push</code>
149 31 Julien Enselme
# Normalement, tout est à jour.
150 31 Julien Enselme
151 31 Julien Enselme
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.
152 31 Julien Enselme
Plus d’infos "ici":http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git/travailler-avec-des-branches
153 30 Julien Enselme
154 30 Julien Enselme
h3. Les tags
155 30 Julien Enselme
156 30 Julien Enselme
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.
157 30 Julien Enselme
158 30 Julien Enselme
{{note(Par défaut les tags ne sont pas envoyés lors d’un push. Utilisez _git push --tag_)}}
159 1 Julien Enselme
160 1 Julien Enselme
h3. La recherche
161 4 Julien Enselme
162 4 Julien Enselme
Grâce à la commande <code>git grep "PATTERN"</code>, vous pouvez recherche dans vos fichiers sources.
163 8 Julien Enselme
164 8 Julien Enselme
h3. Ignorer des fichiers
165 10 Julien Enselme
166 10 Julien Enselme
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).