![원격 Git 저장소의 로컬 복사본 없이 작업공간을 백업하세요.](https://linux55.com/image/72013/%EC%9B%90%EA%B2%A9%20Git%20%EC%A0%80%EC%9E%A5%EC%86%8C%EC%9D%98%20%EB%A1%9C%EC%BB%AC%20%EB%B3%B5%EC%82%AC%EB%B3%B8%20%EC%97%86%EC%9D%B4%20%EC%9E%91%EC%97%85%EA%B3%B5%EA%B0%84%EC%9D%84%20%EB%B0%B1%EC%97%85%ED%95%98%EC%84%B8%EC%9A%94..png)
온라인에서 사용할 수 있는 Git 저장소의 모든 콘텐츠를 백업하지 않고 작업 공간을 백업하고 싶습니다.
그래서 각 폴더의 파일을 백업하면 된다는 생각이 들었습니다 .git/config
. 따라서 백업에서 항목을 복원하려면 해당 폴더로 가서 현재 상태를 가져오면 됩니다.
프로젝트를 복원하려면 어떤 파일을 백업해야 합니까?
(완벽한 루틴은 내 로컬에 있는 모든 파일이 원격으로 푸시되었는지 확인하고 로컬 변경 사항이 발견되면 파일을 백업하는 것입니다.)
답변1
그래서 각 폴더의 파일을 백업하면 된다는 생각이 들었습니다
.git/config
. 따라서 백업에서 항목을 복원하려면 해당 폴더로 가서 현재 상태를 가져오면 됩니다.
충분하지 않다. 또한 최소한 다음을 백업해야 합니다.
- 로컬에서 수행되었지만 아직 원격 저장소로 푸시되지 않은 모든 커밋
- 아직 준비되거나 커밋되지 않은 작업 디렉터리 또는 인덱스의 파일
- 모든 Git 매장
git bundle
이를 사용하여 목표를 달성 할 수 있습니다 . 예를 들어:
- 인덱스의 모든 항목과 작업 디렉터리의 모든 더러운 항목을 임시 분기에 커밋합니다.
- 모든 매장을 실제 지점으로 전환
이것을 실행하세요:
git bundle create /tmp/foo $(git branch -r $(git branch -r | awk '{ print $1 }')
이제 백업 /tmp/foo
하고 .git/config
.
이는 자동으로 수행되지 않으며 아무것도 놓치지 않을 것이라는 보장도 없습니다. 실제로 이 작업을 수행하는 것은 권장하지 않습니다.
또는 보기Git 저장소를 얕은 저장소로 변환하시겠습니까?이것이 당신이 찾고 있는 것에 더 가까울 수도 있습니다.