Je suis utilisateur quotidient de Git et subversion, je ne connais pas Mercurial. Je constate beaucoup de commentaires par rapport à l'utilité de Git par rapport à Subversion. Voici un tout petit exemple qui simplifie extrêmement ma vie avec git.
Les branches, je peux merger à n'en plus finir entre toutes mes branches sans me poser de questions car git garde l'historique des branches et ne va donc pas appliquer plusieurs fois des changements.
$ git branch
betterhtml
filterabstracts
htmltolatex
* local
master
J'ai 3 branches de travail, une local et une master que j'utiliser pour pousser ma version finale vers mon serveur:
$ git push monserveur master
Par exemple ma branch htmltolatex est une branche que je traine depuis longtemps car bon, l'implementation est longue. Quand je retravaille dessus, je fais juste un :
$ git pull local
Cela m'assure que tous les changements de ma branch local sont maintenant dans ma branche htmltolatex, je bosse dessus, je commit et je retourne vers mes autres fonctionnalités.
Quand j'ai un petit bug à fixer, hop, je fais une branch depuis local, je fixe, commit, merge dans local et master, push master sur le serveur, et retourne sur mes autres branches. Un petit pull pour reprendre les changements dans ma branch et je continue le boulot.
Et comme git-svn fonctionne très bien, je peux utiliser git même si en face il y a un dépôt subversion. Sinon les fonctionnalités avancées, je n'ai pas trop testé. Je trouve simplement très pratique de ne pas avoir besoin d'être "en ligne" pour faire mes commits.
# Git par rapport à SVN
Posté par Loïc d'Anterroches . En réponse au journal Git ou Mercurial ?. Évalué à 2.
Les branches, je peux merger à n'en plus finir entre toutes mes branches sans me poser de questions car git garde l'historique des branches et ne va donc pas appliquer plusieurs fois des changements.
$ git branch
betterhtml
filterabstracts
htmltolatex
* local
master
J'ai 3 branches de travail, une local et une master que j'utiliser pour pousser ma version finale vers mon serveur:
$ git push monserveur master
Par exemple ma branch htmltolatex est une branche que je traine depuis longtemps car bon, l'implementation est longue. Quand je retravaille dessus, je fais juste un :
$ git pull local
Cela m'assure que tous les changements de ma branch local sont maintenant dans ma branche htmltolatex, je bosse dessus, je commit et je retourne vers mes autres fonctionnalités.
Quand j'ai un petit bug à fixer, hop, je fais une branch depuis local, je fixe, commit, merge dans local et master, push master sur le serveur, et retourne sur mes autres branches. Un petit pull pour reprendre les changements dans ma branch et je continue le boulot.
Et comme git-svn fonctionne très bien, je peux utiliser git même si en face il y a un dépôt subversion. Sinon les fonctionnalités avancées, je n'ai pas trop testé. Je trouve simplement très pratique de ne pas avoir besoin d'être "en ligne" pour faire mes commits.