¿Es seguro para múltiples usuarios usar un repository de Git en una unidad de networking compartida?

Estamos usando Eclipse (con el plugin eGit) y quiero alojar un repository en una unidad de networking compartida a la que varios usuarios tienen acceso de escritura.

¿Todos los usuarios pueden apuntar al mismo repository original (en la unidad compartida) o sería mejor para cada usuario clonar el repository en su disco local, trabajar fuera de esta versión local y enviar los cambios al original en networking según sea necesario?

Eclipse parece permitirle "importar" (a su espacio de trabajo Eclipse) un proyecto de un repository de Git, pero ese proyecto importado no parece ser supervisado por Git hasta que elija "Compartir proyecto". En este paso, el directory de trabajo se convierte en el directory de trabajo del repository para ese proyecto. Es de suponer que todos los usuarios que compartan este proyecto tendrían el mismo directory de trabajo, es decir, el del repository en la unidad compartida.

No tengo claro las implicaciones de esto, pero no parece una buena idea, en la primera inspección. ¿Cómo manejará los problemas básicos, como 2 usuarios que intentan abrir el mismo file para editarlos simultáneamente, por ejemplo?

Gracias.

Solutions Collecting From Web of "¿Es seguro para múltiples usuarios usar un repository de Git en una unidad de networking compartida?"

Es mejor que cada persona tenga su propio repository.

Clone su repository actual como un repository simple y colóquelo en la unidad de networking.

p.ej

git clone --bare /path/to/current/cool_project cool_project.git 

Mueva cool_project.git a su unidad de networking y haga que todos clonen desde allí. Los repos sin formatting no tienen un directory de trabajo, de ahí el nombre, por lo que es seguro presionarlos.

Consulte el capítulo 4 del libro de Git Pro – Git on a Server , y específicamente el capítulo 4.2 para más detalles.

Por lo que suena, usted está hablando de que cada usuario apunta al repository git a través de la networking y no tiene repositorys git individuales en las computadoras de cada desarrollador y luego empuja hacia un repository "central". Si estoy en lo cierto al leer su pregunta, esa no es una gran manera de aprovechar lo que git tiene para ofrecer. Git es un sistema de control de versiones distribuidas, por lo que todos deberían tener su propio repository y enviar los cambios a un repository central del que usted crea sus construcciones de CI.