De SVN à Git, découverte concrète autour du projet Wormux - Vers l'utilisation basique

Posted in git, programmation, svn

Maintenant que le projet a été importé, il est possible de travailler normalement en éditant ses fichiers avec son éditeur de texte favori.

De la même manière qu’avec SVN, on peut renommer des fichiers avec Git en utilisant git mv nom_de_fichier_actuel futur_nom_de_fichier.

Avant de propager les modifications dans l’historique local, on va d’abord vérifier les changements, avec git diff [mes_fichiers]. Contrairement à svn diff, il est suffisamment intelligent pour ouvrir directement dans le pager. git diff [mes_fichiers] est donc plus ou moins équivaleut à svn diff [mes_fichiers] | less.

Pour voir uniquement le noms des fichiers modifiés sans voir les modifications, on fera git diff --name-only [sous-répertoire].

Git étant décentralisé, on va d’abord propager localement les modifications avec git commit. Contrairement à SVN, avec Git, par défaut, git commit n’agit sur aucun fichier. On peut faire git commit -a pour commiter (bouh, le vilain franglais!) tous les fichiers (déjà surveillés) modifiés. Ou alors, avant d’appeler git commit on peut appeler git add mes_fichiers que mes_fichiers soient déjà présents ou non dans le dépôt. git commit prendra alors en compte tous le fichiers sur lequel on a fait un git add. Dernière possibilité, git commit mes_fichiers. Bien évidemment, git commit demande ensuite de remplir un commentaire sur la modification effectuée et refuse si le commentaire est vide :)

Viens ensuite le moment de la propagation dans le dépôt central SVN, avec git-svn dcommit. On pourrait se dire que ça oblige à taper 2 commandes au lieu d’une (git commit mes_fichiers, git-svn dcommit au lieu de svn commit) mais ça permet de faire des plus petits commits qu’on ne propagera globalement qu’une fois un peu plus de travail effectué. Au final, en profitant bien de cette possibilité, ça permet d’avoir un historique de meilleur qualité :)