nuevo usuario de git aquí. Quiero usar git, pero estoy en un entorno SVN. De algunos libros que he leído y algunos experimentos simples, he topado con algunas trampas problemáticas y espero obtener una aclaración sobre cómo comenzar sin que mis colegas quieran matarme.git svn y trabajando con sucursales privadas?
Quiero que mi flujo de trabajo sea:
una rama git maestro que se mantiene en el paso con el tronco de SVN.
ramas git locales que hago mi función y el trabajo. Bug en
Quiero traer con frecuencia las ramas de características hasta la fecha con el maestro.
Cuando estoy listo, deseo fusionar una rama de entidad con el maestro y devolverla a svn.
¿Es este un flujo de trabajo típico?
Inicialmente estaba usando git merge para fusionar mi rama principal y ramas de función. Esto condujo a todo tipo de conflictos y problemas. Luego leí para evitar usar git merge alltogether y me quedo con git rebase. ¿Los siguientes comandos de git, entonces, serían correctos?
- git svn rebase (para tirar hacia abajo últimos cambios principal)
- git checkout -b myAwesomeFeature (para hacer una rama de la funcionalidad para trabajar en)
- ... hacer algún trabajo, que se compromete en mi rama de la característica
- < < < que pasa el tiempo >>>
- git checkout master
- git rebase svn (a derribar cosas nuevas)
- git checkout myAwesomeFeature
- git rebase master (para conseguir cosas SVN del tronco en mi rama de la característica)
- < < < listo para empujar MI ramas de características >>>
- master git checkout
- git rebase myAwesomeFeature (a maestros de avance rápido cabeza para conseguir mis cosas en función)
- git svn dcommit (para publicar finalmente)
Cualquier consejo o sugerencia ayudar a un aspirante a usuario de git en un mundo svn sería muy apreciado. Gracias
en realidad, es posible utilizar 'git con merge' 'git svn'. 'dcommit' hará felizmente commit con múltiples padres a subversión, aunque subversion solo lo verá como commit regular con todos los cambios de la rama. Incluso es la única forma en que una vez que empiezas a colaborar en git (por ejemplo, tratando de cambiar gradualmente). –