Pour garder le code source clair, stable et de qualité, nous allons choisir une methode de travail par Feature en gardant à l'esprit qu'à chaque instant T, UN SEUL developpeur a le droit de modifier un fichier, pour éviter le plus possible les merge conflicts
En gros, On clone le code source, on crée une branche privée par fonctionalités (login/about/contact....), on travaille sur le code, des qu'on fini on renvoit le code (commit) au serveur Git pour relecture et approbation, si c'est bon on met à jour la base, et on recommence avec de nouvelles fonctionnalités.
#Example
Un exemple de commande à éxecuter (via SSH sur la VM) lors d'un developpement d'une feature pour un projet :
- On crée le repo ou on clone le repo : EXAMPLE : git clone project.git
- On crée la branche feature/featurename : git checkout -b feature/featurename
- On supprime la branche master local : git branch -D master
- On travaille sur notre branche, on ajoute par exemple le fichier login.php : git add somefiles.php
- On commit notre version (créer un commit avec une description des modifications faites) : git commit -am "commit description"
- On doit synchroniser avec la branche master : git fetch origin && git merge origin/master
- On envoit notre version au serveur pour vérification : git push origin feature/login
- On doit creer une MR Merge Request via Gitlab (interface web)