¿Cómo tener 2 repositorys de git en la misma máquina y empujar y tirar entre ellos?

Me gustaría configurar 2 repositorys para empujar y tirar entre ellos, no usando un repository simple, si es posible.

Tengo un server en el que hay algunos diseñadores trabajando en eso. Como no les presentaré la herramienta git, porque es bastante compleja, les permití trabajar en la location del server. Luego, quiero que mi pc también sea un repository, en caso de que alguien elimine la carpeta o tenga que hacer cambios mientras no esté trabajando … (el server es como un disco compartido en nuestra networking …)

Si solo está utilizando su PC como copy de security, la solución más simple es:

  1. use cron o similar en el server para confirmar automáticamente los cambios
  2. en ese mismo trabajo, presione a un repository simple en su PC

Esto supone que montará el sistema de files que contiene el repository desnudo en su server para permitir que su server escriba (git push) en él. Si no lo haces, deberás configurar un server de git. Esto es simple en Unix (gitd) pero más involucrado en Windows (cygwin + gitd + sshd).

Alternativamente…

  1. use cron o similar en el server para confirmar automáticamente los cambios (como se indicó anteriormente)
  2. utilice cron o similar en su PC para realizar cambios "git pull" desde el server a su PC (hasta usted para progtwigr el server "git commit" para que finalice antes de que comience la PC "git pull")

Esto supone que montará el sistema de files del server en su PC (solo necesita acceso de lectura).

Aconsejaría no git push en un repository remoto no estricto … de lo contrario, su índice se desviaría de su copy de trabajo y probablemente generaría confusión.

Es mejor utilizar un github o bitbucket para alojar su repository. De lo contrario, deberá ejecutar el server git en una de las máquinas.
Por cierto, git no es tan complejo, y tendrás less problemas para enseñar a tus diseñadores a usarlo que para limpiar el desorder que pueden traer a tu server.

Editar

Si tienes acceso al sistema de files de tu server, puedes git clone tu repository usando la ruta a él:

 git clone /path/to/repo local-repo cd local-repo git fetch /path/to/repo 

Editar 2

Para que esto funcione, debe establecer la configuration receive.denyCurrentBranch para ignorar en el repository receptor:

 git config receive.denyCurrentBranch "ignore" 

en general, los desarrolladores de git no quieren que presiones a un repository no descubierto. la idea es que un push solo envíe los cambios a la carpeta .git no los cambios al directory de trabajo. si tuvieras que empujar a un repository no desnudo, el tree de trabajo estaría realmente detrás de HEAD.

ahora es posible, pero implica muchos más pasos, aquí hay información sobre cómo impulsar los repos sin formatting: http://sitaramc.github.com/concepts/bare.html

pero creo que la mejor solución, en mi humilde opinión, es mantener un repo al descubierto y empujar / tirar / search hacia y desde él con sus otros dos repositorys.