Mantener las twigs sincronizadas con Git

Con SVN, tengo la siguiente configuration:

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

Quiero mantener todas las twigs sincronizadas con el tronco de la línea principal, por lo que periódicamente ejecuto una combinación de svn para la twig de tronco.

Sin embargo, también quiero mantener todas las twigs sincronizadas entre sí, a fin de evitar conflictos, ya que la vida útil de cualquier twig puede durar un par de meses o más. Si tengo una docena de twigs, tendría una malla desagradable con SVN, y sería poco práctico.

Mi pregunta es, ¿usar Git en lugar de SVN ayudaría a mantener las twigs sincronizadas entre sí y con el tronco?

Te ayudaría a mantener ambas twigs sincronizadas con el tronco haciendo una rebase.

Mientras usa la twig my_feature, ejecute:

 git rebase master 

Y eso traerá sus cambios en la twig maestra (troncal) a mi_feature.

Acerca de mantener my_feature y my_other_feature sincronizados, es el mismo principio si uno es descendiente del otro. Si my_feature no es un descendiente de my_other_feature o viceversa, no sé la respuesta.

Sí, en su mayor parte. Los tres DVCS modernos (Git, Mercurial y Bazaar) pueden indicar cuándo se fusionaron por última vez y no intentarán volver a fusionar los sets de cambios que ya se han fusionado.

Es posible que te encuentres con algunos casos extremos extraños si estás haciendo cosas realmente complicadas, pero incluso si lo haces será mucho mejor que usar SVN.

Tenga en count que debe usar Git por completo en lugar de SVN para get la funcionalidad deseada. Si solo usas git como front-end para SVN (vai git svn ), es probable que las cosas no parezcan correctas para los usuarios de SVN.