Skip to content
trecouvr edited this page Nov 14, 2012 · 4 revisions

payutc est une application sensible de par les sommes qui transitent dans le système. Pour éviter une catastrophe, envoyer le code sur le serveur ne sera pas aussi simple qu’un git push.

Dépôts git

payutc_git_flow.png

La première étape à comprendre est l’interaction entre les différents dépôts :

  • Un dépôt maître : payutc
  • Des dépôts esclaves : les dépôts de chacun, qui sont des forks du dépôt maître.
  • Le serveur payutc_dev : serveur dit d’intégration, avant de récupérer le code sur la prod, on le récupère sur le serveur d’intégration, qui est une réplique la plus proche possible du serveur de prod. Ça sert à détecter des éventuels bugs lies à des configs serveur impossible à reproduire en local.
  • Le serveur payutc : serveur de prod, une fois que le code est estime stable sur le serveur d’intégration, on peut récupérer le code sur le serveur de prod.

Le dépôt maître

Le dépôt de github sur lequel est héberge le code.

Les dépôts esclaves

Les dépôts des développeurs. Ce sont des forks du dépôt principal. Un dépôt esclave peut récupérer le code du dépôt maître (pull) mais ne peut pas envoyer directement son code (push).

Envoyer ses modifications locales

Pour envoyer des modifications locales, il faudra faire un pull request dans github, puis qu’un admin merge le pull request dans le dépôt master.

payutc_pull_request_flow.png

Récupérer des modifs d’un autre développeur

Il est aussi possible de récupérer les modifications locales d’un autre développeur via un git pull.

Le serveur payutc_dev

Dit serveur d’intégration. Le dépôt sur le serveur d’intégration est lui aussi un dépôt slave, il ne peut que récupérer le code, pas envoyer des modifications (du moins pas directement). Le but est de faire une dernière validation du code dans un environnement très proche de la prod avant de s’aventurer plus loin dans la jungle.

Le serveur payutc

THE serveur. A part récupérer le code du dépôt maître il ne se passe pas grand chose ici.

Installer un environnement de dev local

Créer un compte github

Go github.com.

Créer son dépôt perso

Pour copier le dépôt maître sur son profile local, il suffit d’aller sur github.com/payutc/, puis de cliquer sur le bouton ‘fork’. Pour pouvoir récupérer les motifs envoyées par les autres développeurs sur le dépôt maître, il faut ajouter dans les remote le dépôt maître :

git remote add payutc <url github du projet>

Exemple :

git remote add payutc https://github.com/payutc/server.git

Pour récupérer les modifications il suffit de faire

git pull payutc master

Créer une branche pour travailler

Il est conseiller de créer une branche par bugfix/feature dans le dépôt local et de ne faire aucune modifications dans la branche master, elle servira uniquement a mettre a jour le dépôt local.

git branch <nouvelleBranche> # Créer une branche
git checkout <nouvelleBranche> # Aller dans une branche
git checkout –b <nouvelleBranche> # equivalent des 2 commandes précédentes
git push origin <maBranche> # envoyer sa branche sur github

Faire un pull request

Pour faire un pull request et ainsi signaler au reste des développeurs que nos modifications sont prêtes a être intégrées dans la prod, il suffit d’aller sur la page github du projet (http://github.com/payutc/) et de cliquer sur pull request. Il est alors possible de choisir une branche à envoyer et de mettre un commetaire. Attention avant de faire un pull request pensez toujours être à jour, voir la section Manager votre dépôt.

Manager votre dépôt

payutc_manage_depot.png

Mettre à jour son dépôt :

git pull payutc master

Aller dans une branche :

git checkout <maBranche>

Mettre à jour une branche :

git merge master # si la branche master est a jour
git pull payutc master # sinon, mais déconseillé

Envoyer ses modifs sur github (dépôt personnel)

git push origin <mabranch> # envoie seulement les commit de la branche choisie
git push # envoie toutes les commits de toutes les branches

Envoyer ses modifs sur le dépôt maître :

  1. Mettre à jour son dépôt
  2. Mettre à jour sa branche
  3. Envoyer ses modifs sur github
  4. Faire un pull request depuis github

Sources

http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

Clone this wiki locally