Actualmente, la base del código para el proyecto en el que estoy trabajando es remotamente en un servidor de la compañía. y tiene que quedarse así. Además, el git
repositorio remoto no puede hacerse público.
Mi configuración actual es:
- Conéctese a
VPN
- ejecutar
sshfs
para montar una copia del código - empezar a trabajar en el código
- cuando termine:
ssh
al servidor remoto y ejecutargit
comandos allí
El problema con esto es que la VPN se cae de vez en cuando, por lo que mi sshfs
mes se rompe y mi IDE se congela. lo que hago es volver a conectar manualmente la VPN, luego sshfs
volver a ejecutarla y volver a trabajar.
Pero se vuelve molesto ya que las VPN
caídas son más frecuentes.
Entonces, me pregunto si hay alguna configuración para sshfs
algún tipo de caché, que me permita trabajar, y solo sincronice los cambios cuando vuelva la VPN.
Eso puede no tener sentido, ya que si el controlador remoto no está disponible, no hay nada en lo que escribir. Entonces, ¿qué pasa con una configuración diferente que usa algún watch
tipo de cosa y usa rsync
para mover los cambios de forma bidireccional (ya sea cuando guardo un archivo o cuando lo hago git pull
)
No puedo simplemente clonar git, porque no puedo reproducir todo el entorno para trabajar 'localmente' (DB y otras cosas)
el código tiene que estar en sus servidores, para que yo pueda probar / ver mi trabajo tengo que acceder a una URL, esa es mi caja de arena. No puedo presionar cada vez que quiero ver mis cambios.
git
la forma sensata? Clone el repositorio y trabaje de forma remota.Respuestas:
zecrazytux tiene razón : ¿por qué no usa
git
la forma en que se supone que debe hacerlo: clonando el repositorio, trabajando en él de forma remota y devolviendo los cambios al maestro?No veo ninguna razón por la que "no pueda"
git push
su trabajo cada vez que quiera ver sus cambios (idealmente, pasar a una rama de desarrollo que luego se fusiona cuando se prueba y se prueba que funciona): muchas personas hacen esto. Incluso puede usar unpost-receive
gancho para implementar sus cambios en el entorno si desea automatizar esa parte de las cosas.(Obviamente no QUIERES hacer esto , pero no has dado ninguna razón por la que rechazo la premisa de tu problema).
Francamente, no hay nada que pueda hacer para que una conexión de red no confiable sea "tolerable" (ESPECIALMENTE si está tratando de montar sistemas de archivos de red): puede trabajar de forma remota como se describe anteriormente, SSH en el sistema y trabajar directamente en él (
screen
es su amigo aquí), o investigue y repare la inestabilidad de red subyacente.Intentar hacer otra cosa para "hacerlo tolerable" es un ejercicio inútil (piense en "paraguas de cóctel en un huracán").
fuente
we have redmine and each commit should have a specific format
<- Entonces, cuando combina el formato de la rama de desarrollo, confirme la fusión de la forma en que Redmine lo espera.git
es flexible así :-)screen
para cuando la conexión seEstoy usando estas opciones de sshfs para minimizar la latencia:
Tiene la bandera de reconexión, todas las soluciones alternativas de sshfs, usando auto cache y arcfour chiper.
Puede leer sobre esas opciones en el manual de sshfs, encontré las opciones sshfs más rápidas al menos para mi configuración.
ETA: Más información sobre el rendimiento de sshfs lea aquí: rendimiento de sshfs
fuente