포트폴리오를 작성하면서 하나의 프로젝트를 깃허브의 여러 레포지토리로 나누어 생성되어 있는 것을
하나의 레포지토리로 보기 쉽게 정리하는 계기가 되었다.
1. Remote Repository 생성
먼저 깃허브에 '하나의 레포지토리'를 새로이 생성해보자.
이 레포지토리에 합치고 싶은 레포지토리들을 모두 넣을 것이다.
새로 만든 레포지토리를 부모, 합쳐질 레포지토리들을 자식이라고 하자.
2. Git bash에서 Local과 Remote Repository 연결
(🔅로컬 환경에 Git bash가 설치되어 있다는 가정 하에 진행합니다.)
하단 작업 표시줄의 시작 버튼을 눌러 Git bash를 실행한다.
아래 명령어를 입력하여 생성한 레포지토리를 clone 작업한다.
$ git init #깃 초기화
$ git clone <url> #부모 레포지토리 클론
3. Remote 추가
(참고) 저는 위의 2. 상황을 보면 루트 위치에서 Mobius_HMS라는 레포지토리를 clone 했지요?
이후 폴더 위치를 변경해서 아래와 같이 cd 명령어로 하위 폴더로 옮겨간 것이기 때문에 신경 안 쓰셔도 됩니다~
(gitbash 사용할 때 C드라이브>사용자>git 이라는 폴더를 만들어놨기 때문에 git 폴더 아래로 Mobius_HMS 폴더를 옮겼다는 의미입니다.)
다시 본론으로, 아래와 같은 명령어를 실행하여 remote명과 함께 remote할 레포지토리의 url를 입력해준다.
저는 child1부터 child4까지 총 4개의 레포지토리를 자식으로 만들었습니다.
$ git remote add <리모트명> <레포지토리 url>
추가된 remote 확인한다.
$ git remote -v
4. Subtree 생성
저장할 폴더명과 함께 자식 레포지토리의 remote명(위에서 지정한 child1, child2, ..)을 지정하여 부모 레포지토리(main)에 합친다.
저 같은 경우에는 4개의 remote를 추가했기 때문에 아래 과정을 총 4번 수행했습니다.
$ git subtree add --prefix=<저장할 폴더명> <자식 레포지토리의 remote명> <부모 레포지토리의 브랜치>
5. Push 진행
늘 변경사항이 생기면 commit 뒤에 push로 마무리 해줘야죠?
6. 레포지토리 합치기 성공
깃허브의 부모 레포지토리를 보시면 아래와 같이 자식 레포지토리들이 모여 하나로 합쳐진 것을 볼 수 있습니다.
추가로 자식 레포지토리들을 삭제해도 부모 레포지토리에는 영향을 받지 않으므로 안심하고 자식 레포지토리들은 삭제 해도 됩니다.
'Git' 카테고리의 다른 글
[Git] gitmoji 설치 (1) | 2023.01.11 |
---|---|
[Git] Git 브랜치 이름 변경하기 (0) | 2023.01.10 |
[Github] VScode와 Github 레포지토리 연결 (0) | 2022.04.12 |
[Git] branch | branch 다루기 (0) | 2022.03.14 |
[Git] 과거 내역으로 돌아가는 방법 (0) | 2022.03.14 |
댓글