Sur la toile on peut trouver des modèles de branches (ou branching model) permettant de rendre plus facile le développement à plusieurs. Notamment un article de Vincent Driessen en anglais, mais gentillement traduit sur le blog de Gerald:
- http://nvie.com/posts/a-successful-git-branching-model/Â [EN]
- http://www.croes.org/gerald/blog/git-modele-de-branche-efficace/649/Â [FR]
Un master et un develop
En m’inspirant du modèle cité plus haut, je vais conserver ces deux branches.
master
Cette branche reflète l’état du projet en production. La version de cette branche doit toujours être stable.
develop
Cette branche reflète l’état du projet en développement/pré-production.  Etant seul, ces deux phases peuvent être confondu car dans la plupart du temps on demande au client de tester le développement une fois fini…
Oui mais si le client tarde à tester …
Bon OK, un point pour vous! Dans ce cas là , on va venir créer une branche temporaire de développement à partit de develop le temps que le client valide le projet. Une fois cette validation effectuée, on viendra merger notre branche temporaire sur la branche develop pour de nouveau mettre à jour l’environnement de recettage/pré-production.
Bon maintenant que j’ai expliqué cette astuce de fonctionnement je vais lister les commandes qui permettent d’effectuer ces manipulations.
Cheat GIT pour mémo
Envoyer ces modifications
git commit -a -m "Message" git push origin brancheL'option -a permet d'ajouter tous les fichiers modifier et non présent dans le .gitignore . Si vous souhaitez gérer plus précisément les fichiers vous pouvez utiliser les commandes suivantes:
git status git add file1, file2, etc ... git commit -m "Message" git push origin brancheCréer une branche à partir d'une autre branche
git checkout -b nouvelle_branche branche_existanteEnvoyer une branche git sur le repository
git push origin nouvelle_brancheMerger une branche temporaire sur le develop ou develop sur master
git checkout develop git merge nouvelle_branche #Supprime la branche mergée git branch -d nouvelle_branche git push origin developRécupérer une branche distante (sur le repository)
git pull git checkout -b branche origin/brancheSupprimer une branche distante (sur le repository)
git push origin :brancheMerger une branche sans rappatrier tous les commits de cette branche
git checkout branche_cible git merge --no-ff branche_a_merger git push origin branche_cibleAppliquer un tag
Je vous envoi sur ce lien où le tag est très bien expliqué : http://alx.github.com/gitbook/3_tag_avec_git.html
Envoyer les tags sur le remote
git push --tagSupprimer un fichier distant (sur le repository mais le conserver localement)
git rm --cached myfileBon versionning!
Geekos.fr vous recommande les articles suivants








