인프런 커뮤니티 질문&답변

H Y님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

리액트 앱을 깃(깃허브) 리포지토리로서 관리하는 법?

해결된 질문

24.09.07 16:16 작성

·

32

·

수정됨

0

안녕하세요?

바탕화면에 codecamp-frontend 라는 폴더를 만들고, 그 아래에 class 라는 폴더를 만들어서 리액트 첫 보일러플레이트를 만들었습니다.

section01 폴더도 만들고, 차근차근 하고 있습니다.

그런데, 깃허브로 바탕화면에 있는 codecamp-frontend 라는 폴더를 관리해주고 싶은데, 배운 대로 git init 을 하고 git add . 을 하니, 터미널에서, 이 폴더의 하위에 있는 class 라는 폴더가 서브모듈이 된다고 경고가 뜹니다.

 

그래서 검색을 해서 어찌어찌 되돌리고,

하위에 있는 class 폴더만 깃허브 리포지토리로서 관리하게 되었습니다.

그런데 class라는 이름의 리포지토리가 있는 것이 마음에 안 들고, 몇 가지 질문이 생겼습니다.

 

  1. 리액트 앱은 그 자체를 단독으로, 하나의 리포지토리로서 관리해주는 것이 맞나요?

  2. class 라는 이름의 리포지토리가 있는 것이 알아보기 어렵고 중복이 쉬워 이름을 바꾸고 싶습니다. 바꿔주어도 상관없을까요? 깃이 꼬이지 않을까요?

  3. 깃과 깃허브로 리액트 앱들을 하나의 폴더(리포지토리(저장소))로 모아서 관리하려면 어떻게 관리해 주어야 하는 건지 궁금합니다.

 

감사합니다.

답변 2

0

노원두님의 프로필 이미지
노원두
지식공유자

2024. 10. 07. 16:36

안녕하세요! HY님!
아래 순서대로 답변 드릴게요!^^


1. 깃허브에 저장하길 원하는 폴더들이 나열되어 있는 위치에서 git init 을 입력해 주세요!
2. 위 1번을 진행하시면 .git 폴더가 만들어 지게 됩니다!(ls -al로 확인해 주세요!)
3. git add 명령과 git commit 명령으로 저장하시고 git push 명령으로 깃허브에 전송하시면 되는데,
주의사항이 .git 폴더가 한개만 있어야 합니다(방금 git init하신거)
=> 여기서 create-react-app 또는 create-next-app을 하여 class라는 폴더를 만드시는 경우, 해당 폴더 내에 자동으로 .git 폴더도 만들어 지게 되는데요! 이 때 .git이 총 2개면 어디에 저장해야할지 충돌이 나겠죠?!
따라서, class 폴더 내에 있는 .git은 지워주시고, 바깥의 .git이 위치한 폴더로 이동하셔서 git add 명령과 git commit, git push 명령을 마무리 해 주세요!^^

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 09. 16:21

안녕하세요, 인프런 AI 인턴입니다.

H Y님의 질문에 대해 답변드립니다.

  1. 일반적으로 리액트 앱은 그 자체로 하나의 독립적인 프로젝트로 관리되는 것이 좋습니다. 따라서 각각의 리액트 앱을 단독으로, 하나의 리포지토리로 관리하는 것이 맞습니다. 이렇게 하면 프로젝트의 독립성이 보장되고, 다른 프로젝트와의 종속성 문제를 피할 수 있습니다.

  2. 리포지토리의 이름은 프로젝트 내용을 잘 나타내며, 이해하기 쉬운 방향으로 바꾸는 것이 좋습니다. 리포지토리 이름을 바꿀 때는 깃허브에서 직접 이름 변경이 가능합니다. 이름을 바꾼 후에는 로컬과의 연결 주소도 업데이트해주어야 합니다. git remote set-url origin 새로운_리포지토리_URL 명령어를 사용해 로컬의 리모트 URL을 업데이트해줍니다. 이렇게 하면 깃이 꼬이지 않고 안전하게 이름을 변경할 수 있습니다.

  3. 여러 리액트 앱들을 하나의 폴더(리포지토리)로 모아서 관리하려면, 각 앱을 서브모듈 형태로 관리하는 방법이 있습니다. 그러나 이 방법은 관리가 복잡해질 수 있으며, 각 앱이 독립적인 배포와 개발 주기를 가질 때 어려움이 발생할 수 있습니다. 가장 권장되는 방법은 각 앱을 독립된 리포지토리로 관리하면서, 관련된 앱들끼리는 오거나이제이션(organization)을 생성해 그룹핑하는 것입니다. 이 방법으로 각각의 앱을 독립적으로 관리하면서도 연관된 프로젝트들을 쉽게 찾고 관리할 수 있습니다.

질문에 답변이 되었기를 바랍니다. 추가적인 궁금증이 있으시면 언제든 문의해주세요. 감사합니다!

H Y님의 프로필 이미지

작성한 질문수

질문하기