치명적인 파일 시스템 오류 후 GIT를 복원하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/552832

  •  23-08-2019
  •  | 
  •  

문제

기본 서버에서 파일 시스템 오류 후 GIT 저장소를 복원하는 가장 빠른 경로는 무엇입니까?

OSS 프로젝트의 중앙 서버가 실패하고 복원 후 이틀 동안 모든 커밋이 손실된다고 상상해보십시오. 어떻게 되돌아가나요? 모든 클라이언트에서 "git push"라고 부르는 것만으로도 충분합니까? 아니면 내가 고려해야 할 다른 것이 있습니까?

도움이 되었습니까?

해결책

모든 저장소는 또한 "메인 리포지토리 (Main Repository)"(컨벤션에 의한 메인 ")의 백업입니다. git push 가장 최근에 한 저장소에서 git fetch 또는 git pull 물론 그 상태에 따라 필요한 전부가되어야합니다. 당신은 갈고리와 그와 같은 것을 돌봐야하지만 지난 이틀 동안의 커밋 만 잃어 버렸다고 말하면 어쨌든 해를 입지 않았을 것입니다.

다른 팁

git pull 그리고 a git push 충분해야합니다.

또는 a git push -f 로컬 사본으로 서버를 강제로 업데이트하지만 다른 사람에게는 문제가 발생할 수 있습니다 (여러 커밋자가있는 경우).

더 이상의 문제 나 오류가 발생하면 알려주십시오.

서버에서 새로운 repo를 만드는 것이 더 나을 것이라고 생각합니다.

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

그런 다음 가지고있는 모든 다른 클론에서 밀어 넣으십시오. 내 생각은 기존 repo에있을 수있는 부패한 파일을 피할 것이며, 모든 클론에서 일하는 경우, 아무도 서버 repo에서 엉망이되지 않는다면 전혀 손실이 없어야한다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top