GitHub 기본 Fork 기능은 포크된 저장소의 공개/비공개 설정을 마음대로 바꿀 수 없습니다.
따라서 공개 저장소를 직접 Private 저장소로 가져오려면 약간의 우회 방법이 필요합니다.
공개 저장소를 비공개 저장소로 복제하려면 어떻게 해야 할까요?
과정은 간단합니다:
(1) 원본 저장소를 bare clone → (2) 새로운 비공개 저장소 생성 → (3) mirror push
(1) 원본 저장소를 bare clone하기
git clone --bare https://github.com/원본사용자/원본저장소.git
📌 --bare 옵션은 파일을 복사하는 것이 아니라, 저장소의 Git 히스토리만 복사하는 명령어입니다.
(2) 비공개 저장소 만들기
자신의 GitHub에서 New Repository 클릭 → 이름을 정하고→ Private 옵션을 선택하여 저장소를 생성합니다.
(3) 새 비공개 저장소로 mirror push하기
베어 클론한 디렉토리로 이동 후, 아래 명령어를 입력합니다.
cd 원본저장소.git
git push --mirror https://github.com/내아이디/비공개저장소.git
📌 --mirror는 브랜치, 태그 등을 포함하여 모든 Git 정보를 그대로 푸시하는 옵션입니다.
이 명령어를 입력하면 인증(Username/Password)을 요구할 수 있습니다.
중요한 점은 Password 대신 반드시 Personal Access Token(PAT) 을 사용해야 합니다.
- Username: GitHub ID 입력
- Password: GitHub 로그인 비밀번호가 아니라, 발급한 Personal Access Token을 입력
토큰 발급 방법은 GitHub 공식 토큰 발급 가이드를 참고하실 수 있습니다.
(4) 클론 디렉토리 정리하기
cd ..
rm -rf 원본저장소.git
끝!

'STUDY > 👩🏻💻' 카테고리의 다른 글
[Statistics] 데이터 분석가의 숫자유감(2) (0) | 2023.11.21 |
---|---|
[Statistics] 데이터 분석가의 숫자유감(1) (2) | 2023.11.21 |