==== Avant tout ====
* créer un compte sur [[https://framagit.org/]]
* chercher framasoft/framadate et fourcher/fork le projet chez vous
* créer une branche dans votre projet pour chacun de vos développements (1 par issue traitée par exemple) et travailler sur celle-ci
* faites un pull sur les branches utilisées pour être à jour et préparer vos push (voir déploiement).
* une fois vos développements finis et testés en local et sur le serveur picasoft, faire la demande de merge vers framasoft/framadate
====Installation : ====
* **Commande : git clone**
git clone
permet de copier le dossier depuis le git \\
(pour voir l'installation plus précisément, voir la page correspondante sur le wiki) \\
ex : (**attention** : copie la branche master)
git clone https://framagit.org/TDavid/framadate.git /var/www/framadate
\\
* **Commande : git checkout**
git checkout
met à jour le dossier (en effaçant vos modifications s'il y en a) pour le mettre dans la nouvelle branche \\
donc si votre branche est en avance par rapport à la cible, elle perd les modifications \\
/!\ commenter si besoin la ligne dans le Dockerfile lorsque vous cloner depuis votre git avec vos modifications \\
\\
====Correction : ====
Pour vos développements, vous avez à disposition plusieurs fonctionnalités vous permettant de gérer les fichiers que vous avez modifié.
* **Commande : git status**
git status
permet de voir les fichiers qui diffèrent de la branche \\
__exemple de résultat__
Sur la branche devTitouan
Votre branche est à jour avec 'origin/devTitouan'.
Modifications qui ne seront pas validées :
(utilisez "git add ..." pour mettre à jour ce qui sera validé)
(utilisez "git checkout -- ..." pour annuler les modifications dans la copie de travail)
modifié : js/app/date_poll.js
aucune modification n'a été ajoutée à la validation (utilisez "git add" ou "git commit -a")
\\
Un changement fonctionnel ou technique n'est que rarement centré à un seul endroit dans le code, il faut donc pouvoir regrouper ces modifications sous une unité logique : le commit. il vous permettra d'une part de simplifier la compréhension des modifications effectuées, et d'autre part d'annuler ces changements d'un coup avec la commande Revert. Je recommande de séparer vos modifications pour une issue en plusieurs commit (sans forcément les push) correspondant à des changements fonctionnels élémentaires
* **Commande : git add**
git add .
ajoute tous les fichiers listés par git status dans le prochain commit \\
\\
* **Commande : git commit**
git commit -a
"valide" les modifications dans un seul bloc \\
__exemple de résultat__
[devTitouan 5879cf2] correction issue 203
1 file changed, 55 insertions(+), 2 deletions(-)
\\
* **Commande : git revert**
git revert
annule les modifications d'un commit\\
====Déploiement : ====
afin de partager vos modifications avec les autres utilisateurs d'une branche, vous devez d'une part récupérer leur modification, ajoutez les vôtres et renvoyez-les sur le git. Pour ce faire, vous avez 2 commandes : pull et push.
* **Commande : git pull**
git pull
met à jour votre dépôt local **(à faire avant de commencer à modifier des fichiers)**. \\ \\
* **Commande : git push**
git push
pousse vos modifications vers le git \\
__exemple de résultat__
Username for 'https://framagit.org':
Password for 'https://@framagit.org':
Décompte des objets: 5, fait.
Compression des objets: 100% (5/5), fait.
Écriture des objets: 100% (5/5), 923 bytes | 923.00 KiB/s, fait.
Total 5 (delta 4), reused 0 (delta 0)
remote:
remote: To create a merge request for devTitouan, visit:
remote: https://framagit.org/TDavid/framadate/merge_requests/new?merge_request%5Bsource_branch%5D=devTitouan
remote:
To https://framagit.org/TDavid/framadate.git
8f1fd08..5879cf2 devTitouan -> devTitouan