AngelPlayer`s Diary

GitLab을 통해서 작업한 파일을 GitHub로 이동하고 싶은 경우가 있을 수 있습니다.

 

일반적으로 GitLab의 파일을 로컬에 clone 받은 뒤, 그것을 그대로 GitHub에 올리는 방식을 생각해볼 수 있으나, GitLab에서 작성한 commit 내용 등이 모두 제거된다는 문제가 있습니다.

 

이런 경우 미러링(Mirroring)을 사용한다면 commit 내용까지 모두 Github로 옮길 수 있습니다.

 

 

 

 

1. GItHub Setting 

https://github.com/settings/repositories

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

우선 설정에서 repository  생성 시 기본 branch명을 변경해주어야 합니다.

 

GItLab는 default branch가 master이지만 GitHub는 main이기 때문에 변경이 없으면 에러가 발생할 수 있습니다.

 

위 링크를 통해서 repository setting으로 들어가  Repository default branch명을 master로 변경 후 Update를 눌러줍니다.

 

 

 

다음으로 GitHub의 새로운 Repository를 생성합니다.

 

이때 리포지토리는 public, private 어떤 것을 사용하여도 무방합니다.

 

 

 

 

2. GitLab Setting

다음으로 GitLab에서는 보호되고 있는 브랜치가 있는지 여부를 확인해야 합니다.

 

Settings - Repository - Protected branches에 들어갔을 때 만약 위와 같이 나온다면 별도로 보호되고 있는 브랜치가 없다는 뜻입니다.

 

만약 branch에 보호가 적용되어 있다면 우측에 생기는 Unprotect 버튼을 클릭하여 해제해줍니다.

 

 

 

 

3. clone 하기

미러링을 진행할 원본 리포지토리(GitLab Repository)를 PC에 clone해 줍니다.

 

clone이 완료되면 [git push --mirror 미러링할_깃허브_주소]를 입력하여 줍니다.

 

 

 

만약 미러링 도중 위와 같은 에러가 뜨고 정상적으로 미러링이 되지 않는다면 100MB 이상의 대용량 파일이 있으므로 올릴 수 없다는 뜻입니다.

 

이떄는 BFG를 사용하여 해결할 수 있습니다.

 

 

 

https://rtyley.github.io/bfg-repo-cleaner/

 

BFG Repo-Cleaner by rtyley

$ bfg --strip-blobs-bigger-than 100M --replace-text banned.txt repo.git an alternative to git-filter-branch The BFG is a simpler, faster alternative to git-filter-branch for cleansing bad data out of your Git repository history: Removing Crazy Big Files Re

rtyley.github.io

위 사이트로 들어가셔서 파일을 다운로드 받아줍니다.

 

참고로 해당 파일은 jar 파일을 사용해야하므로 JDK가 PC에 설치되어 있어야 합니다.

 

 

 

https://angelplayer.tistory.com/434

 

[Eclipse] Web 개발을 위한 이클립스 EE 설치/설정/Import 에러 해결

Install Version Ecplise IDE for Enterprise Java and Web Developers 2021-03 OpenJDK 8 (1.8.0) Apache Tomcat 9.0 1. 필수 프로그램 설치하기 1) Eclipse EE 다운로드 이클립스를 이용한 웹 프로젝트는 일반 이클립스(Ecilpse IDE for

angelplayer.tistory.com

상단의 링크에 JDK 설치 방법이 나와 있으니 참고해주시면 됩니다.

 

 

 

java -jar /c/git-ssafy/bfg-1.14.0.jar --convert-to-git-lfs '*.zip'
git reflog expire --expire=now --all && git gc --prune=now --aggressive

위와 같은 두 줄의 명령을 입력해야하는데 아래 줄은 그대로 이용하시면 됩니다.

 

첫 번쨰 줄의 경우

1) 앞서 다운받은 bfg.jar 파일의 경로 지정하기

2) 파일 크기가 100MB 초과하는 확장자 지정하기

입니다.

 

참고로 여러 확장자가 100MB를 초과하는 경우 위에 두 줄을 확장자를 변경해가면서 여러 번 입력하시면 됩니다.  

 

 

 

 GitHub에 들어가면 GitLab에서 작성한 코드들이 그대로 미러링 된 것을 확인할 수 있으며, commit 내역도 함께 유지되어 있는 것을 확인할 수 있습니다.

 

 

 

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band