GitLab에서 팀 프로젝트를 진행했고, 이 코드를 GitHub로 옮기려고 한다.
한 사람이 organization을 생성해서 팀원들을 초대한 후, 미러링을 하면 더 효율적이라고 생각해서 그 방법을 작어보려고 한다.
개인 계정으로 로그인한 다음 오른쪽 상단의 + 아이콘을 클릭한다.
New organization을 클릭한다.
단체 계정 생성이 진행된다.
먼저 플랜을 선택하는 화면으로 이동한다.
여기서 무료 플랜을 선택한다.
플랜은 나중에도 변경이 가능하다고 한다.
플랜을 선택하면 단체에 대한 정보를 입력하는 폼으로 넘어간다.
단체 이름(Organization account name)과 이메일(Contact email), 그리고 단체 소유주를 입력한다.
단체 소유주 타입은 크게 2가지로 나뉜다.
비즈니스나 단체를 선택할 경우 별도로 공식적인 단체명을 입력하는 폼이 나타난다.
입력을 마치고 스크롤을 내리면 스팸 퀴즈를 풀어야한다.
확인을 눌러서 퀴즈를 풀면 된다. 퀴즈를 풀면 Next 버튼이 활성화된다. 클릭해서 다음으로 넘어간다.
이 검색창에서 GitHub ID를 입력하면 초대할 사용자를 검색하고 추가할 수 있다.
혹은 GitHub 계정(이메일)을 입력하면 초대할 사용자에게 이메일을 보내서 추가할 수 있다.
초대할 멤버를 모두 골랐다면 Complete Setup을 클릭한다.
초대는 나중에도 할 수 있으니 Skip this step을 눌러서 skip을 해도 좋다.
단체 계정 생성 완료!!
Create a new repository를 클릭해서 새로운 repository를 생성한다.
repository 생성 폼의 Owner에서 organization을 선택하면 원하는 organization에 repository를 생성할 수 있다.
$ git clone --bare <GitLab 주소>
$ cd old-repository.git
$ git push --mirror <GitHub 주소>
용량이 큰 파일이 있다면 미러링을 하다가 에러가 발생할 것이다.
나 또한 zip 파일과 mp4 파일이 있어서 위와 같은 에러가 발생했다.
해결방법은 아래와 같다.
BFG Repo Cleaner는 이 링크를 통해 다운 받을 수 있다.
오른쪽에 파란색 버튼을 눌러서 다운 받으면 된다.
$ git clone --mirror <GitLab 주소>
old-repository.git이 있는 위치에 다운 받은 bfg-1.14.0.jar이 있어야 한다.
$ ls
old-repository.git bfg-1.14.0.jar
$ java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 50M --no-blob-protection old-repository.git
--no-blob-protection
protected commits
에러가 발생한다.실행결과, 용량이 큰 zip 파일과 mp4 파일이 삭제되었다.
cd old-repository.git
git push --mirror <gitHub 저장소>
https://www.lainyzine.com/ko/article/how-to-create-an-organization-for-collaboration-on-github/
https://velog.io/@sugenius77/Gitlab%EC%97%90%EC%84%9C-Github%EB%A1%9C-%EB%AF%B8%EB%9F%AC%EB%A7%81