subtree add and remove
by 사슴비행기
Subtree
: 레포지토리 안에 레포지토리를 넣을 수 있는 github 명령어.
이렇게 하나의 레포지토리에 여러개의 프로젝트를 포함시킬 수 있음.
1. 부모 레포지토리 생성
==> 여러 프로젝트를 포함할 레포지토리
2. 레포지토리 클론
2-1. README.md 파일 추가하고 commit 및 push
1) The requested URL returned error: 403 에러 발생
==> Github주소가 잘 못 됨.
==> Github에서 주소 복사 시 (https://github.com/{githubNmae}/{projectName}.git) 이렇게 복사가 되는데 (https://{githubName}@github.com/{githubName}/{projectName}.git) 이렇게 변경해야 함.
//remote 확인
git remote -v
//origin의 주소 변경
git remote set-url origin https://{githubName}@github.com/{githubName}/{projectName}.git
3. 자식 레포지토리를 remote로 등록
1) 부모 레포지토리로 이동
git remote add {remote name] {git 주소}
==> remote name은 remote의 이름이 됨
==> git 주소는 https://github.com/{githubNmae}/{projectName}.git 형식으로 넣어야 The requested URL returned error: 403 에러를 막을 수 있음
git remote add login https://jeungeun0@github.com/jeungeun0/study-login.git
4. subtree 등록
git subtree add --prefix={부모 레포지토리에 저장할 폴더명} {자식 remote 이름} {원격 branch name}
==> 부모 레포지토리에 저장할 폴더명 : 이 폴더명으로 부모 레포지토리에 자식 레포지토리가 포함됨
==> 자식 remote 이름 : 3번에서 등록한 remote name을 작성하면 됨
==> 부모 레포지토리의 브랜치명을 입력하면 됨
git subtree add --prefix=login login main
1) Working tree has modifications. Cannot add. 에러
==> 부모 레포지토리가 최신이 아니어서 발생하는 에러.
==> 부모 레포지토리에서 commit, push 안 한 항목들을 push하여 최신상태로 만든 다음 다시 시도하면 됨.
2) fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 에러
==> remote주소가 이상하거나 push, pull. merge 등 원격 저장소와 통신할 때 언제든 발생할 수 있는 에러.
==> 방법은 2가지인데, 여기서는 기존 remote를 삭제하고 재등록하는 방법을 사용 (다른 방법은 아래 참고 블로그를 통해 봐주세요)
//제거
git remote remove [원격 저장소 이름(e.g., origin, master, main)]
//재등록
git remote add [새로운 원격 저장소 이름(e.g., origin)] [github 원격저장소 URL]
5. 부모 레포지토리 push
==> push하면, 부모 레포지토리에 자식 레포지토리가 생성 됨
==> 이 이후에 자식 레포지토리를 삭제해도 부모 레포지토리에는 파일과 커밋 내역이 남음
git push
6. subtree한 자식 레포지토리를 부모 레포지토리에서 삭제
git rm -rf {레포지토리 이름}
참고한 블로그
https://santokki.tistory.com/24
https://zzang9ha.tistory.com/294
https://dailylifeofdeveloper.tistory.com/m/213?category=855630
'Github' 카테고리의 다른 글
Remote branch {브랜치이름} not found in upstream origin (0) | 2023.01.03 |
---|
블로그의 정보
Beautiful Coding
사슴비행기