git 저장소 이사하기

0

제목만 봐서는 저게 무슨 소리인가 싶을수도 있지만, 본인은 회사에서 github같은 상용플랫폼을 사용하다가 ISMS(보안감사) 이슈로 인해 내부에 깃 서버를 구축해서 옮긴 경험이 있다.

말로만 들으면 쉬워보이는데, 직접 해보면 이런 노가다가 없었다.
일단, 각각의 저장소를

git clone --bare https://github.com/{your-repository}.git

해줘야 한다. --bare 대신 --mirror를 사용해도 되긴 하다.
둘의 차이점은 여기 에서 참고했다.

그런데, 저걸 반복문으로 하면 되지, 뭐하러 노가다라 했냐 라고 하면
저장소가 많아서 저장소 이름만 쭉 리스트업 하는데도 꽤 노가다였다...

그리고, 다음 과정이 말도 못하게 노가다인데, 새로 만든 내부 git에 각각의 repository를 같은 이름으로 생성해줘야했다...(아...)

새로 repository를 만들면 비어있는 repository에 아까 clone 해왔던 정보들을 밀어넣어주면 된다.
본인은 하나하나 하기 너무 힘들어서 shell script를 만들어서 한번에 처리했다.

for f in *; do
    cd $f
    git push --mirror https://{your-git-domain}/{your-repository-path}/$f
    cd ..
done
profile
지상 최강의 개발자 쥬니니

1개의 댓글

comment-user-thumbnail
2022년 6월 1일

아이고... 고생하셨겠네요

답글 달기