2012-07-24 56 views
60

¿Cómo puede un equipo de cuatro personas usar Git (específicamente Github for Windows) para enviar cambios locales a una unidad de red compartida?Cambios de inserción de git a una unidad de red compartida

En este momento (sin Git) tenemos que copiar los archivos de la unidad de red a nuestra máquina local, editar los archivos y luego volver a cargarlos en la unidad de red compartida. Este es un proceso minucioso que puede generar muchos errores, pero parece que Git podría ayudarnos.

¿Podemos simplemente instalar Git en la unidad compartida e ir desde allí?

Respuesta

20

Nuestro equipo actualmente hace exactamente esto. Cada desarrollador tiene la siguiente:

  1. Git instalado en su máquina local
  2. acceso a su propia unidad compartida personal (L:)
  3. acceso a una unidad de grupo compartida (V:)

Nosotros tener el repositorio "remoto" (configurado usando init -bare) en la unidad V:, y todos tienen una clonación en su disco personal L:. Todos los cambios se realizan en la unidad L: y se transfieren a la unidad V:, que luego los demás desarrolladores arrastran hacia abajo a sus repositorios personales respectivos en sus unidades L:. Esto funciona sin problemas y mitiga la necesidad de un servidor Git.

+0

Bien, genial! ¿Debo primero crear un repositorio local y luego configurar un control remoto de ese repositorio en la unidad compartida? – user1549303

+1

@ user1549303 - Así es como lo hacemos. Puede crear el repositorio local (nuestro repositorio de disco 'L:') usando 'git init', y luego crear el control remoto (nuestro' v: 'unidad uno) usando' git clone --bare' (o un 'git init - -bare', y luego un empuje desde 'L:'). – eykanal

+0

@eykanal - Mi equipo actualmente usa una antigua y horrible biblioteca de control de fuente y estamos buscando cambiar a git. Una cosa que nuestra biblioteca actual me permite hacer es ver quién ha revisado un archivo, pero se olvidó de verificar los cambios. Con git, todos los repositorios son locales, entonces, ¿cómo puedes saber si alguien olvidó presionar a "v"? –

1

Se puede agregar otro control remoto apuntando a su unidad de red (git remote)

A continuación, puede presionar y jalar similar a lo que haces con github

78

No estoy seguro si has encontrado algo que funciona para usted o no, pero yo tener una valoración crítica sobre la manera de hacer eso mismo en una unidad de red de windows:

http://tony.halcyonlane.com/blog/2011/09/22/Using-git-at-work-on-a-Windows-network-drive/

de un cambio cmd a su unidad asignada.

$ cd g:

Luego, cd en el repositorio de git que se va a crear próximamente.

$ cd scripts

A continuación, cree un repositorio vacío de git. Si no usa la opción --bare, tendrá problemas, así que no lo deje.

$ git init --bare

Ahora bien, si usted no tiene un repositorio Git local, sin embargo, entonces se puede clonar el nuevo repositorio donde quiera navegando de nuevo a la unidad local.

$ c:

$ cd work/scripts

$ git clone file://g:\scripts

Al clonar, se obtiene automáticamente una llamada remota "origen" y se puede empujar al servidor para su custodia en cualquier momento de realizar cambios a nivel local.

$ git push origin master

Si ya tiene un repositorio git y lo que desea para expulsar a la unidad compartida a continuación, puede hacerlo desde su directorio local de Git.

$ git remote add origin file://g:\scripts

$ git push origin master

+0

Gracias, hice exactamente esto para un proyecto personal en mi red doméstica. –

+0

Seguí estos pasos pero recibo los siguientes errores cuando ejecuto git push origen maestro error: no puedo generar sh: No existe tal archivo o directorio fatal: no se puede fork – NickStees

+0

Gracias. Tomó mucho tiempo encontrar esta respuesta –

Cuestiones relacionadas