Pergunta

O que é o caminho mais rápido para restaurar um repositório git após um erro de sistema de arquivos no servidor principal?

Imagine que o servidor central de seu projeto OSS falha e todas as submissões para dois dias são perdidos após a restauração. Como você recebe as costas? É o suficiente apenas para chamar "git push" em todos os clientes? Ou há algo mais que eu preciso levar em conta?

Foi útil?

Solução

Cada repositório é também um backup do “repositório principal” (que é “principal” por convenção única) para um git push a partir do repositório que fez o git fetch mais recente ou git pull deve ser tudo o que leva-se ao seu estado, claro. Você só precisa tomar cuidado dos ganchos e tal, mas se você diz que vale a pena que apenas os dois últimos dias de commits foram perdidos aqueles provavelmente não foram prejudicados de qualquer maneira.

Outras dicas

A git pull e, em seguida, um git push deve ser suficiente.

Como alternativa a git push -f vai forçosamente atualizar o servidor com a sua cópia local, mas isso pode causar problemas para os outros (se houver vários committers).

Deixe-nos saber se você tiver quaisquer problemas ou erros.

Eu acho que poderia ser melhor para criar um novo repo no servidor:

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

Em seguida, empurre a partir de todos os diferentes clones que você tem. Meu pensamento é que isso evitaria quaisquer arquivos corrompidos que podem estar no antigo repo, e não deve haver nenhuma perda em tudo, desde que todo o trabalho em seus próprios clones, e ninguém está brincando no repo servidor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top