프로젝트

(2) Issue, Feature Branch, PR 생성 방법

nkdev 2025. 3. 5. 02:21

깃헙으로 협업을 어떻게 하는지 배워보자.


1. 이슈 등록

(깃헙 이슈에다가 내가 무슨 작업을 할 거다~ 투두리스트 적어놓고 PR을 그 깃헙 이슈와 연결하던데 일케 하는 거 맞겠지?)

이슈 템플릿은 이미 누가 만들어둬서 그냥 쓰면 될 것 같고

새로운 이슈 등록한 후 이슈 성격에 맞게 라벨 등록해줬다

내 이슈 번호는 #10이다

이제 스켈레톤 코드 작성하면 됨

근데 어떻게 작성함?


(참고)

먼저 개발을 하기 위해서는 develop 브랜치에서 feature 브랜치를 분기하라고 함

그거 어케 하는데. 그리고 왜 하는데?

⚙️ Issue의 flow

  1. A기능을 개발해야 하는 상황 발생
  2. A기능 개발을 위한 Issue 생성
  3. develop 브랜치에서 A기능 개발에 대한 브랜치 분기
  4. 생성한 브랜치에서 A기능 개발 시작
    -> 이 때 커밋 메시지에 #이슈번호를 붙여주면 해당 이슈 페이지에서 커밋 내역을 확인할 수 있다.

⚙️ PR의 flow

  1. A기능 개발을 위해 develop 브랜치로부터 분기한 A브랜치에서 기능을 개발
  2. 기능 개발이 완료된 A브랜치는 develop 브랜치에 개발한 코드를 합병하기 위해 PR을 보낸다.
  3. 팀원 간 코드 리뷰를 진행하고 리뷰를 마친 PR은 합병(merge)한다.

 

아~~~ 기능 개발을 하려면 먼저 원격 레포지토리의 Main 브랜치에서 Develop 브랜치를 분기해야하는구나..

어쩐지 내 로컬에 클론했는데 main브랜치가 아니라 바로 dev브랜치에 와있길래 왜 그런가 했다.

이미 어떤 팀원이 원격 레포에 dev브랜치를 분리해둔 걸 내가 클론받아서 그런 거였음

 

(나는 이때까지 원격에 레포지토리를 직접 생성해본 적이 없고 내 로컬에서 branch 명령어로 브랜치를 생성하고 삭제하기만 했다. 브랜치 전략에 맞지도 않는 완전 잘못된 방법이었음)

 

암튼 그렇고


2. 작업 브랜치 생성

stayjun 블로그에서는 얘를 눌러서 브랜치를 생성하라고 함

브랜치 네임은 각자 프로젝트 컨벤션에 맞게 정하면 되고

what's next? 부분 체크박스는 난 깃헙 데스크탑 안 써서 checkout locally를 선택하면 됨

 

브랜치 네임을 컨벤션에 맞게 작성하면 Feat/setup-notification-skeleton 이 적당해보임

나중에 팀원들한테 적절한 네이밍이었는지 물어봐야겠다.

 

checkout locally를 선택하면 아래처럼 해당 feature 브랜치에 checkout할 수 있는 코드를 알려준다.

git fetch origin?

원격 저장소인 origin에서 변경된 내용을 로컬로 가져오는 작업을 수행해주는 명령어

이 명령을 실행하면 로컬 저장소에는 원격 저장소의 최신 변경 사항이 반영되지 않지만, 변경 사항을 로컬로 확인할 수 있게 된다.

(반드시 최신화를 진행해줘야 문제가 발생하지 않음)

이후 체크아웃을 진행하면 된다.


3. PR 생성

브랜치를 생성하고 작업 진행 후 완성시켰다면 내 작업물을 commit, push해준다.

커밋 메시지는 컨벤션에 맞게 작성하면 feat(notification): 알림 스켈레톤 코드 작성 #10 이렇게 될 듯

 

그리고 깃허브에 들어가보면 자동으로 초록색 버튼의 Compare & pull request가 뜬다.

  1. PR 제목, 내용 작성하고
  2. 이슈 번호를 #1 이렇게 입력해서 어떤 브랜치 위에서 작업했는지 표시해준다.
  3. Reviewer에 리뷰 요청할 팀원들을 선택한다.
  4. Assignees에 담당자(보통 본인)를 할당한다.
  5. Label을 선택한다.
  6. Create pull request로 PR 제출하면 끝

 


https://zerocoke-zzi.tistory.com/35

https://krafton-jungle-essay.tistory.com/entry/Spring-%EA%B2%8C%EC%8B%9C%ED%8C%90-Skeleton-%EC%BD%94%EB%93%9C

-> 스켈레톤 대충 어케 만드는지 참고

 

https://hyeonic.tistory.com/181

https://stayjun.tistory.com/126

-> 깃헙 이슈 작성 방법