상세 컨텐츠

본문 제목

[Git] git mirror 중 마주한 pre-receive hook declined 오류 해결하기

개발일지/그 외

by 박나영 2021. 10. 27. 01:52

본문

✨ pre-receive hook declined 오류 해결하기

 

최근 작업했던 프로젝트 중 미러링을 통해 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

 

 

해결 완료!!

 

 

✨ [Git] had recent pushes / Compare & pull request 경고 해결하기

 

일단 무사히 Github으로 옮겨오긴 했는데

 

 

이렇게 생긴 경고창들을 발견했다.

 

그냥 단순히 저 초록색 Compare&Pull request 버튼 눌러서

자동으로 merge 되면 넘기고 conflict 난 부분들은 확인 후 수정해서 Merge 하면 된다!

 

 

앗, 그리고 파일들이 최신 버전으로 보이지 않을 수도 있는데Settings > Branches 로 들어가 Default branch를 master로 변경해주면 끝!!!

 

 

 

🤎 IRIONEORA GITHUB

https://github.com/na0i/IRIONEORA

 

GitHub - na0i/IRIONEORA

Contribute to na0i/IRIONEORA development by creating an account on GitHub.

github.com

 

관련글 더보기