Meilleur outil / méthodologie pour travailler avec un client git et un référentiel SVN

J’ai utilisé SVN depuis environ deux ans (principalement via TortoiseSVN et IntelliJ), et expérimenté avec git (principalement via TortoiseGIT … détecte un motif ici?)

Notre société utilise SVN pour le référentiel et ne pense pas à changer de sitôt. Quelles sont les meilleures pratiques et les outils recommandés pour utiliser git localement et travailler avec le serveur SVN distant?

Comme vous l’avez probablement compris, je préfère une interface graphique simple, une extension shell / IDE aux outils de ligne de commande. En outre, je travaille sur Windows (voir cette question liée mais obsolète ).

Je peux suggérer deux options:

1) En utilisant à la fois TortoiseGit et TortoiseSVN en parallèle

Vérifier votre copie de travail à partir de votre serveur SVN plutôt que de la valider dans un repository git local. Utiliser Git comme un tracker d’historique local et s’engager sur SVN avec une granularité inférieure. Avec cette approche, vous obtenez le meilleur outillage des deux mondes, mais vous devez jongler avec deux outils et deux lignes d’historique.

pour append .svn à .gitignore et .git à svn: ignore

2) Utiliser uniquement TortoiseGit

Qui a des raccourcis graphiques pour:

  • “git svn clone” aka “svn checkout”
  • “git svn fetch” aka “svn update” – appelé rebase
  • “git svn dcommit” aka “svn commit”

C’est une option plus conventionnelle, mais git-svn est un client svn très rudimentaire.

Gardez à l’esprit que dcommit va commettre la série de commits locaux depuis votre dernier engagement comme une série vers svn commit, et n’est donc pas un tout atomique.