최근 작업했던 프로젝트 중 미러링을 통해 Gitlab에서 작업했던 내용들을 Github으로 옮기고자 했다.
A : gitlab에서 작업했던 git 주소(원래 있던 곳)
B : github에 가져갈 새로운 git 주소(새로 이사갈 곳)
내가 시도했던 방법은
1. git clone --bare [A]
2. cd [A]
3. git push --mirror [B]
그랬더니 아래 사진과 같이 pre-receive hook declined 라는 오류가 발생했다.
일주일 가까이 구글링했지만 결국 해결방법을 찾지 못했는데...
세일님의 도움으로 간단히 해결했다!
1. git clone --mirror [A]
2. A.git 폴더와 같은 경로에 BFG RepoCleaner 을 다운(생략 가능)
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
java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 100M [A]
이 단계는 나처럼 커밋이력 중에 100MB가 넘는 파일이 있는 사람만 하면 될 것 같다.
여기서 중요한 점은
🐣 bfg.jar 버전을 잘 확인 후 명령어를 작성해야 하며(저는 1.14.0을 다운받았기 때문에!)
🐣 [A] 폴더와 동등한 위치에 bfg.jar 파일이 위치해야하고
🐣 위의 명령어를 [A]폴더 내부가 아니라 밖에서 실행시켜야 한다는 점이다.
나는 바탕화면(Desktop)에 [A]와 bfg.jar 파일을 받았기 때문에
Desktop에서 git bash를 열어 명령어를 실행시켰다.
명령어 실행 후 조금 기다리면
BFG run is complete! 라고 뜬다.
다음단계 고고씽~
3. cd [A]
4. git remote set-url --push origin [B]
5. git push --mirror
해결 완료!!
일단 무사히 Github으로 옮겨오긴 했는데
이렇게 생긴 경고창들을 발견했다.
그냥 단순히 저 초록색 Compare&Pull request 버튼 눌러서
자동으로 merge 되면 넘기고 conflict 난 부분들은 확인 후 수정해서 Merge 하면 된다!
앗, 그리고 파일들이 최신 버전으로 보이지 않을 수도 있는데Settings > Branches 로 들어가 Default branch를 master로 변경해주면 끝!!!
https://github.com/na0i/IRIONEORA
GitHub - na0i/IRIONEORA
Contribute to na0i/IRIONEORA development by creating an account on GitHub.
github.com
[Git] asset 폴더 없이 마크다운(Markdown,Typora) 사진 git에 업로드하기 (0) | 2021.10.29 |
---|