git
[Github] github 저장소(Repository) 미러링 하기
이숨니
2024. 7. 29. 17:04
미러링이란?
Github에서 fork를 할 경우, 다른 계정의 저장소(repository)를 내 계정으로 옮길 수 있다.
미러링은 파일만 복사하는 것이 아니라 commit log를 그대로 옮길 수 있다.
하게 된 이유?
알고리즘 스터디를 진행했을 때 하나의 Github Repository에서 공동 작업을 진행했었는데, pr을 날릴 저장소 스터디원이 관두게 되었고, 기존의 작업물들을 그대로 가져오기 위해서 진행하게 되었습니다.
저장소 미러링하기
1. 복사하고자 하는 저장소의 bare clone 생성하기
git clone -bare {복사하려고 하는 저장소의 git주소}
2. 새로운 저장소로 mirror-push 진행하기
cd {복사하려고 하는 저장소의 git주소
git push --mirror {붙여놓을 저장소의 git주소}
자신이 만든 Personal Access Token을 입력하면 된다.
여기서 나의 경우 에러가 한번 났다.
이 경우는 내가 토큰을 생성했을 때, 허용 범위를 제대로 설정 안해줬었다.
그래서 repo 허용을 해주고 token 생성해 줘서 해주면 성공!
여기서 100MB를 넘어가는 파일을 가진 저장소를 미러링 할 경우는 다르게 해야 한다.
아직 시도하진 않았기 때문에 추후에 할 경우 다시 수정해서 업로드해야겠다.