2009-08-19 8 views
3

Avec SVN, je la configuration suivante:Garder les branches en phase avec Git

/tags/ 
/trunk/ 
/branches/ 
/branches/my_feature 
/branches/my_other_feature 

Je veux garder toutes les branches en synchronisation avec le tronc ligne principale, donc je lance périodiquement une fusion svn pour la branche pour le tronc .

Cependant, je souhaite également que toutes les branches restent synchronisées afin d'éviter les conflits, car la durée de vie de chaque branche peut être de quelques mois ou plus. Si j'ai une douzaine de branches, j'aurais un mauvais maillage avec SVN, et ce serait impraticable.

Ma question est, serait l'aide de Git au lieu de l'aide de SVN avec la synchronisation des branches entre elles et le tronc?

+0

Vous ne savez pas si cela fera une différence, mais le projet en question - y travaillez-vous avec beaucoup d'autres, juste quelques-uns ou est-ce un projet solo (pour le moment)? –

+0

Environ une demi-douzaine d'autres développeurs. –

Répondre

2

Oui, pour la plupart. Les trois DVCS modernes (Git, Mercurial et Bazaar) peuvent dire quand vous avez fusionné pour la dernière fois et n'essayeront pas de réorganiser les changesets qui ont déjà été fusionnés.

Vous pourriez courir dans certains cas limites étranges si vous faites une vraiment choses difficiles, mais même si vous le faites sera miles mieux que d'utiliser SVN.

6

Cela vous aiderait à synchroniser les deux branches avec le tronc en effectuant un rebasage.

Tout en utilisant la branche my_feature, exécutez:

git rebase master 

Et qui apportera vos changements dans la branche principale (tronc) à my_feature. A propos de la synchronisation entre my_feature et my_other_feature, c'est le même principe si l'un est un descendant de l'autre. Si my_feature n'est pas un descendant de my_other_feature ou viceversa, je ne connais pas la réponse.

0

Notez que vous devez utiliser Git complètement au lieu de SVN pour obtenir la fonctionnalité souhaitée. Si vous utilisez simplement git comme un frontal vers SVN (vai git svn), cela risque de ne pas sembler correct aux utilisateurs SVN.

Questions connexes