Git windows server con Github

Soy bastante nuevo para Git y esperaba que alguien pudiera ayudarme. Estamos trabajando con un proveedor externo y su código está en github, que tiene un par de twigs (digamos branch1 y branch2). Planeamos tener un server local de git de Windows usando solo un repository simple y los desarrolladores podrán acceder a esto simplemente compartiendo files por ahora, donde clonarán, empujarán y extraerán. La razón detrás de un server local se debe al tamaño.

¿Cuál sería la mejor manera de implementar, usar esto? Por ejemplo: 1. crear un repository simple en nuestro server – git init –bare 2. Agregar un control remoto a github name github 3. Obtener repository remoto (desde github) 4. El usuario clona nuestro repository local … 5. push / atraer a nuestro local … 6. ¿cómo fusionarías nuestro código en una twig en github?

Actualización: Lo siento, otra cosa que olvidé mencionar es que solo se nos ha otorgado acceso de extracción a github, que no podemos cambiar debido a un tercero. Solo se nos concede acceso de inserción una vez que todo está completo

Gracias

Podrías configurar una secuencia de commands para enviar los cambios a Github tal como aparecen en el repository, o podrías asignar a alguien la tarea de decidir cuándo es necesario y hacer cambios manualmente desde su propio clon de tu repository hasta Github. Recuerde que en un entorno distribuido, ningún repository en particular tiene ninguna razón técnica para ser diferente de cualquier otro: es todo una convención.

Sin embargo, hay algo de lo que debe tener cuidado: al usar los resources compartidos de files, todos los cambios en el repository en su server se realizarán directamente por parte del usuario que lo empuja. Incluso a través de una LAN, eso podría ser más lento que hablar con un server inteligente a través de Internet. También he tenido dificultades en el pasado para enviar repositorys remotos de Git a través de SMB. Si es posible, configure un server en lugar de solo usar files compartidos. Si eso no es posible, testing bien y verifica que estés obteniendo un mejor performance.

Como se indicó en los comentarios, no hay ninguna razón para configurar un espejo sincronizado para que las personas hagan una obtención inicial: recuerde que todos los repositorys tendrán los mismos datos. En lugar de download todo el historial cada vez, no hay nada que impida que alguien nuevo tome toda la historia de su colega que está al lado de ellos, y luego tira y empuja hacia Github.

Siempre que el tamaño sea un problema, no olvide que Git no es un VCS centralizado en el que puede colocar todo en él.

Debería descomponer su gran set de files en varios repo de Git, permitiendo a los desarrolladores clonar / trabajar solo en algunos de esos repositorys.

Cualquier trabajo en un file compartido debe evitarse con Git: mata el performance …