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

Doozuu·2022년 9월 24일
11

Github

목록 보기
2/8

⭐️ 필요성

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

📁 방법

0. Github에 리포지토리를 만들고 프로젝트를 하나 올린다.

  • 부모 리포지토리에 들어갈 자식 리포지토리의 역할을 함.
  • 프로젝트 올릴 때는 VS code의 cmd 창에 아래 명령어 입력.
git init
git add .
git commit -m "커밋 메시지"
git remote add origin "리포지토리 주소"
git branch -M main
git push -u origin main

1. Github에 빈 리포지토리를 하나 만든다.

  • 여러 프로젝트를 담을 부모 리포지토리의 역할을 함.
  • 처음 한 번만 해주면 됨.

2. 부모 리포지토리를 clone 한다.

  • VS code에서 cmd창을 열고 아래 명령어를 입력한다.
git clone <부모 리포지토리 주소>

참고: 부모 리포지토리 주소는 github의 해당 리포지토리에서 복사해오면 된다.

⚠️ 부모 리포지토리가 비어있는 경우 "빈 리포지토리를 clone한 것 같다." 라는 경고문구가 뜨지만 무시해도 된다.

3. 부모 리포지토리의 디렉토리로 이동한다.

cd 부모 리포지토리 이름

ex) cd codingStage

4. subtree를 이용해 부모 리포지토리에 자식 리포지토리를 더해준다.

git subtree add --prefix=폴더 이름 자식 리포지토리 주소 branch 이름

ex) git subtree add --prefix=project1 http://...git main

  • 여기서 폴더 이름은 깃허브에서 보여질 폴더의 이름을 설정하는 것이다.

⚠️ 이때 부모 리포지토리에 아무 커밋이 없는 경우, 'ambiguous argument 'HEAD': unknown revision or path not in the working tree.' 라는 오류가 뜰 수 있다.

해결 방법 :

git commit --allow-empty -n -m "커밋메시지"

5. 마지막으로 깃허브에 push하기

git push origin main

6. 파일 형식으로 잘 올라갔는지 확인하기

  • 잘 올라갔으면 기존에 있던 자식 리포지토리는 지워도 된다.



⭐️ 이후에 프로젝트를 올릴 때는 아래처럼만 해주면 된다.

git clone 부모 리포지토리 주소
cd 부모 리포지토리 이름
git subtree add --prefix-폴더 이름 자식 리포지토리 주소 branch 이름
git commit -m "커밋 메시지"
git push origin main
profile
모든게 새롭고 재밌는 프론트엔드 새싹

0개의 댓글