¿Cuál es la mejor forma de configurar un repository git "central" a partir de un repository git local actual existente?

Sé que git está distribuido, y francamente me gusta esa propiedad al respecto.

La situación es que he sido el único desarrollador de una pieza de software que he estado administrando por git desde su inicio, en mi almacenamiento local. Esto siempre ha sido así, en otras palabras, solo existe un único repository en la actualidad, donde confirmo y fusiono cosas y mantengo la twig principal en estado de "publicación pública".

Ahora estoy a punto de ceder el control exclusivo del proyecto y compartiré su base de código fuente con otros desarrolladores, quienes estarán realizando cambios por su count. Y entonces necesito distribuir mi copy del proyecto a otros. Naturalmente, me gustaría continuar cometiendo mi trabajo futuro y poder revisar y fusionar otros trabajos en mi copy también, un trabajo que supuestamente fue creado para hacer .

Un aspecto del problema es que ni la mía ni las otras computadoras de desarrolladores son públicas (es decir, serán accesibles como serveres por ssh o un service similar) y tengo problemas para imaginar cuán factible sería para mí extraer y fusionar los cambios de su copy de el repository en el mío, y viceversa. Sin embargo, el proyecto incluye una máquina de intranet, que podemos usar como un host de repository, y en este punto necesito un consejo sobre la mejor manera de configurar todo esto.

Ninguno de los desarrolladores (incluyéndome a mí) debería ser asignado como el dictador benevolente del proyecto, sin embargo, por el bien de la administración, se me encargará asegurarme de que haya algún tipo de master u otra sucursal disponible para pagar los lanzamientos públicos. Pero tampoco sé a cuántos otros desarrolladores se unirán, es decir, cuántas copys distribuidas tendremos, por lo que quizás se necesite una copy "central" / maestra del repository, que yo solo autorizaré.

Me temo que realmente no puedo ver claramente el outlook general aquí. ¿Cuál es la mejor manera de hacer esto?

Simplemente acepte un flujo de trabajo con los otros desarrolladores. Uso la twig por function y escribí mi flujo de trabajo aquí: http://dymitruk.com/blog/2012/02/05/branch-per-feature/

Aparte de eso, bitbucket ofrece repositorys privados gratuitos, por lo que no tiene que preocuparse por configurar su propio server. También puedes usar github si se pretende que sea público, u get un repository privado de ellos aunque no sea gratuito.

Si ya tiene un server candidato en la intranet, no hay nada de malo en usarlo. Simplemente configure un repository simple allí, inserte el repository existente allí y comience a usarlo como repository central. Eso es todo, no habrá dictadores, pero el anfitrión central sería un "repo maestro" central.

Sé que suena como el model centralizado tradicional, y es eso, pero hemos estado haciendo mucho con git y funciona muy bien.

Sin embargo, si desea tener su repo como maestro, podría abrir ese repository maestro a otros, pero tener una twig de producción separada o un repository. Entonces, solo fusionarías de maestro a twig de producción / repository las cosas que has aprobado.

Editar: las instrucciones prácticas sobre cómo hacer la configuration se detallan, por ejemplo, aquí . Hay instrucciones que guían todo el path. Lo único que agregaría es que, en lugar del git push origin master de git push origin master , para el primer impulso, es posible que desee usar git push --all origin lugar, todo git push --all origin ya que empujaría todas las twigs, tags, etc., y no solo la twig principal.

Intereting Posts