Git 저장소 복사
이번에 Git 서버를 이동하면서 사용한 방법을 설명하고자 한다.
bonobo git server 를 사용 중 해당 서버의 위치를 이동 할 일이 있어 bare repository 파일들만 복사를 해봤는데 git command가 일부 정상적으로 동작 하지 않아 원격 저장소를 clone 하여 이동한 bonobo git server에 push 하여 처리 하였다.
git 저장소 복사는 2단계로 진행하였다.
git clone --bare x.git
git push --mirror y.git
x.git은 기존 서버의 저장소이며, y.git 이동한 서버의 저장소이다.
설명을 간단히 하자면 x.git 저장소 자체를 복사 해와서 y.git 저장소에 매핑한다.
git 관련하여 간단하게 몇 가지 설명하면 아래와 같다.
git에는 bare-repository와 nonbare-repository가 있다.
bare-repository : 실제 프로젝트 코드가 아닌 이력과 변경 사항이 존재하는 원격 저장소 이다.
nonbare-repository : 실제 프로젝트 코드가 존재하는 로컬 저장소이다.
commit 등 자신의 변경 사항이 반영되는 곳이 로컬 저장소이고, 이를 push하면 원격 저장소에 반영된다.
그래서 사용자가 파일을 수정하여 원격 저장소까지 반영되는 과정을 보면 다음과 같다.
작업파일 -> 스테이지 영역(index) -> Local Storage -> Remote Storage
작업을 한 후 git add로 스테이지 영역에 반영하고, git commit으로 로컬 저장소에 반영 후 git push로 원격 저장소에 반영한다.
HEAD에 대해서는 여러 사이트를 봤지만 서로 설명이 달라 좀 더 정리 후에 작성 하도록 하겠다.








