Pregunta

¿Cuál es el camino más rápido para restaurar un repositorio git después de un error del sistema de archivos en el servidor principal?

Imagínese el servidor central de su proyecto OSS falla y todos los envíos de dos días se pierden después de la restauración. ¿Cómo se obtiene los de vuelta? ¿Es suficiente con llamar "git push" en todos los clientes? ¿O hay algo más que debo tener en cuenta?

¿Fue útil?

Solución

Cada repositorio es también una copia de seguridad de la “repositorio principal” (que es “principal” por convención solamente) por lo que un git push desde el repositorio que hizo el git fetch más reciente o git pull debería ser todo lo necesario previo a su estado, por supuesto. Sólo tiene que cuidar de los ganchos y tal, pero si usted dice que la pena de confirmaciones sólo los últimos dos días se perdieron los probablemente no fueron perjudicados de todos modos.

Otros consejos

A git pull y luego un git push debería ser suficiente.

Alternativamente un git push -f actualizará la fuerza el servidor con su copia local, pero esto puede causar problemas a los demás (si hay múltiples committers).

Háganos saber si llegas a tener más problemas o errores.

Yo creo que puede ser mejor para crear una nueva operación en el servidor:

% ssh user@server
% mv /path/to/repo /path/to/repo.old
% mkdir /path/to/repo
% cd /path/to/repo
% git init --bare

Luego empuje de todos los diferentes clones que tiene. Mi pensamiento es que esto evitaría los archivos dañados que pueden estar en la edad de recompra, y no debe haber ninguna pérdida en absoluto, que proporciona todo el trabajo en sus propios clones, y nadie se jugar un poco en el repositorio del servidor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top