Git

[Git] 여러 프로젝트를 하나의 repository로 관리하기

P1su 2024. 7. 11. 23:43

동아리 스터디 중 실습 과제들이 많이 주어져서, 

이를 하나의 리포지토리로 관리해 보려한다. 

 

  1. 자식 리포지토리 생성
    관리를 할 리포지토리에 올릴 프로젝트를 먼저 별도의 리포지토리에 올린다.
    Git에서 새로운 리포지토리를 생성 후
git init 
git add .
git commit -m '커밋 메세지'
git remote add origin '리포지토리 주소'
git branch -M main
git push origin -u origin main

 

위 명령어를 순서대로 vscode터미널 창에 입력해준다.

만약 push 명령어에서 

 failed to push some refs to~,Updates were rejected because the remote contains work that you do not have locally

다음과 같은 오류가 발생했다면 

git push -f origin main

강제로 push를 진행한다......

 

2.  부모 리포지토리 생성

마찬가지로 새 리포지토리를 생성 후 새 창에서 터미널을 연다.

git clone '부모 리포지토리 주소'

cd 부모 리포지토리 이름

 

리포지토리 이름의 경우 처음 생성할 때 작성한 이름을 써주면 된다. 

 

3. 자식 리포지토리 복제

git subtree add --prefix=프로젝트명(디렉토리명) <자식 리포 주소> <브랜치명>

git subtree add --prefix=rockScissorPaper https://github.com/P1su/rockScissorPaper.git main

이후

 

git push origin main

push 해준다. 

 

이후 맨 처음 생성해준 자식 리포지토리는 삭제해도 된다. 

 

4. 반복

이후 위 작업을 반복해주면 된다. 

자식 리포지토리를 생성 후 새 터미널 창에서

cd <부모 리포지토리 이름>
git subtree add --prefix=<프로젝트명> <자식 리포지토리 주소> <브랜치>
git push origin main

 

잘 적용되었다. 

과정 중 커밋 메세지를 수정하는 방법도 좀 알아봐야겠다...

 

 

참고)

 

# 하나의 레포지토리에 여러 프로젝트 올리기

과제를 여러개 올리는 경우, 각각 리포지토리를 만들면 너무 갯수가 많아지므로 하나의 리포지토리에서 여러 프로젝트를 관리해야할 필요성이 생긴다. 👉🏻 리포지토리 안에 여러 폴더를 만

velog.io

 

728x90