2010-01-12 3 views
9

빠른 재설치 전에 DVD에 물건을 굽고 있습니다. 최근 사용자 인 git을 사용하여이 작업을 수행하지 마십시오. 그래서 너희들과 확인하고있어. 내가 올바르게 이해했다면 프로젝트 디렉토리 인 project_name (그 안에 .git이 있음)을 백업해야합니다. 그리고 그 파일을 숨겨진 파일을보고 "새로운"컴퓨터에 복사하고 git을 다시 설치하면됩니다. 아무 일도 일어나지 않은 것처럼 재개합니까? 맞습니까?git를 사용하는 프로젝트 백업

+0

번들의 주요 장점은 메인 REPO 역사의 일부만을 묶을 수있는 능력이며, 점진적 저장을 수행하고 대상에서 점진적으로 적용 할 수 있습니다. 또한 복사 할 파일 하나. – VonC

답변

8

옙. 맞아.

+4

가장 짧고, 가장 걱정스러운 답변은 이제까지 해소되었습니다. – Rook

+4

그냥 "옙"이라고 말하려고했습니다. 하지만 15 자 미만의 답을 게시 할 수는 없습니다 : git 저장소는 단순히 git init로 초기화 된 .git 디렉토리가있는 폴더 (하위 폴더)입니다. 당신은이 폴더를 아무 데나 움직일 수 있고 자식으로 작동 할 것이다. –

+0

나는 Git에 너무 익숙하다. 따라서이 질문을한다. git 번들은 다른 대답에 따라 더 좋은 옵션처럼 보이지만 수동으로 파일을 백업하는 경우에는 _.git_ 폴더 만 백업해야합니다. 해당 폴더의 내용에서 모든 분기의 현재 상태를 올바르게 복원 할 수 있습니까? –

11

만 (병력이없는) 백업 프로젝트 파일, 당신은 git archive 사용하려는 경우

git-archive-all.sh 실제로 모든 자식 저장소에 보관됩니다 스크립트를 (그런 식으로, 나는 "숨겨진 파일을보고"필요가 없습니다) 및 현재 경로의 하위 모듈.

다른 하위 모듈을 포함하는 git 수퍼 프로젝트의 단일 tar 파일을 만드는 데 유용합니다.


Charles Bailey 바르게 코멘트에 언급 된 바와 같이, git bundle는 역사를 보존하기 위해 더 적합하다. (git bundleFebruary 2007에서 도입되었습니다.)

Backing up a git repository with git bundle

git bundle는 자식의 전송을 할 수 있도록 설계되었다 참조 저장소 사이에 직접 연결이없는 경우 커밋 (예 : 오프라인) 만 사용하여 패치 때문에 커밋 다수의 다수의 옵션을 선택하지 않습니다 가지.
git bundle은 하나의 파일로 다른 원격 장치처럼 취급 할 수 있으므로 매우 쉽게 만들고 다시 가져올 수 있습니다. 빠른 예 :

[email protected]:~/devel$ git bundle create ~/devel.bdl master test 

및 번들 내 마스터와 테스트 지점을 포함 ~/devel.bdl으로 저장됩니다.
지금 저장소 B에있는 경우 [email protected]:~$ git ls-remote devel.bdl을 사용하면 번들에 저장된 분기가 표시됩니다.
가 자식 (예를 들어) 인출하여 원격 같은 다발 I 간단한 치료 그것을 사용

[email protected]:~/git/repoB$ git fetch ~/devel.bdl refs/heads/\*:refs/remotes/bundle/\* 
+1

'git-archive-all'은 meitar (http : // github.com/meitar) – VonC

+1

백업을 위해서는'git bundle'이'git archive'보다 더 적절하다고 생각합니다. 'git archive'는 나무의 tarball (snapshot)을 생성하지만 커밋과 히스토리는 보존하지 않습니다. 'git bundle'은 의존성이 없어도 원하는대로 많은 브랜치의 동결 건조 저장소가 될 수 있습니다. –

+1

@Charles : 코멘트 주셔서 감사합니다. 그에 따라 내 대답을 편집했습니다. – VonC

관련 문제