2010-07-21 3 views

답변

4

저는 편집증 환자입니다.

은 (git init --shared --bare로 설정) 우리의 중앙 저장소 외에, 내가 네트워크 드라이브에 설정 다른 거울 저장소 있습니다

cd /network/drive 
git init --bare 
cd /local/repo 
git remote add backup --mirror /network/drive 
git push backup 

난 그냥 가끔 backup에 밀어을, 그리고 미러링 된 저장소이기 때문이다 , 그것은 본질적으로 내 로컬 저장소의 전체 복제본입니다.

+0

+1. 작업 카피는 매우 임시적인 커밋에만 사용해야합니다. DVCS를 사용하면 다른 사람의 일을 깨뜨리지 않기 때문에 일찍 그리고 자주 저지르는 습관에 빠져야합니다. 또한 백업을 위해 커밋하고 푸시 할 때 알 수없는 중간 상태의 임의 스냅 샷이있는 것과 달리 이름이 지정된 알려진 상태가 있습니다. crontab 등을 사용하면 백업을 수행하면 정상적인 백업 리포지토리보다 훨씬 많은 시간을 사용하여 조각을 가져올 수 있습니다. –

0

지난 주에 일부 사람들이 비표준 코드를 비공식 코드를 사용하여 권위있는 저장소에 저장하는 방법을 사용한다고 들었던 지난 주 회의가 있었기 때문에이 질문을하는 것이 재미 있습니다. (참고 : 그것은 마크가 말하는 것과는 다릅니다). 나에게 너무 잘못되어 Continuous Integration 방식으로 rsync 기반 백업 서버를 설치하여 보완 버전 제어 및 백업 도구의 보완 방법을 알게되었습니다.

아직 서버를 설치하지 않았지만 ssh 서버가 실행되는 예비 유닉스 머신이 있으면 간단한 crontab이 작업을 수행 할 수 있습니다. ssh를하고 rsync를 (당신이 NFS 마운트 파티션이있는 경우, 그것도 간단하게 될 것입니다)를 사용하여 :

$ crontab -l 
# m h dom mon dow command 
0,15,30,45 * * * * if `ping -c 1 machine.domaine.com 
> /dev/null 2> /dev/null` ; then export SSH_AGENT_PID= 
"`pgrep -l ssh-agent | cut -d' ' -f1`" ; export SSH_AUTH_SOCK= 
"`/usr/bin/find /tmp -path '*ssh-*' -type s -user name -group 
gname -name '*agent*' 2> /dev/null`" ; /usr/bin/rsync -avz -e ssh 
--quiet /home/name/src [email protected]:/home/name/backup/src ; fi 

(I, 당신은 SSH를 사용하여 시스템에 로그인 할 수 있다고 가정 당신은 ssh를 에이전트 실행되고 있고 ssh-add를 사용했다).

이렇게하면 15 분마다 진행중인 작업이 저장되며 rsync는 변경된 사항을 매우 빨리 파악하므로 워크 스테이션이 너무 느려서는 안됩니다. 디스크 이 다운되면 로그 machine.domain.com, 에 백업 된 자격 증명 :-)을 사용하고 계속 작업하십시오.

희망이 있습니다.

건배,
Christophe.

= 보안은 대부분 미신입니다. 그것은 자연에 존재하지 않습니다. - Helen Keller =

2

예. 커밋 사이에는 일반적인 백업 시스템을 사용해야합니다.

실제로 버전 제어에는 백업과 관련이 없습니다.. 이 말은 개발자, 비서, 관리자 또는 기타 다른 직원이든 모든 직원이 백업 시스템을 사용해야한다는 의미입니다. 데스크톱은 버전 제어 시스템을 사용하는지 여부에 관계없이 백업해야합니다.

저는 소프트웨어 개발을 구조화하고 많은 사람들이 함께 작업 할 수 있도록하는 데 사용되는 중요한 제어 도구로 버전 제어 시스템을 사용합니다. 여러 개의 병렬 릴리스를 유지해야하거나 버그를 조사해야 할 때 필수적인 도구입니다. 백업 시스템을 사용하여 버그가 처음 도입 된 시점을 파악할 수는 있지만 백업 시스템을 사용하여 여러 개의 병렬 분기를 유지할 수는 없습니다. 따라서 버전 제어 시스템은 백업 시스템 이상을 제공하며 백업 시스템은 커밋되지 않은 모든 파일을 처리하여 버전 제어 시스템을 보완합니다.

이제 물론 리포지토리의 백업을 직접 만들고 싶습니다. 분산 버전 제어 기능을 사용하면 로컬 저장소에서 원격 백업 서버의 다른 저장소로 쉽게 이동할 수 있습니다. 이렇게하면 VCS가 잠금을 처리하고 백업 서버에서 일관된 상태를 유지하도록 보장합니다.

관련 문제