깃헙으로 협업을 어떻게 하는지 배워보자.
1. 이슈 등록
(깃헙 이슈에다가 내가 무슨 작업을 할 거다~ 투두리스트 적어놓고 PR을 그 깃헙 이슈와 연결하던데 일케 하는 거 맞겠지?)
이슈 템플릿은 이미 누가 만들어둬서 그냥 쓰면 될 것 같고
새로운 이슈 등록한 후 이슈 성격에 맞게 라벨 등록해줬다
내 이슈 번호는 #10이다

이제 스켈레톤 코드 작성하면 됨
근데 어떻게 작성함?
(참고)
먼저 개발을 하기 위해서는 develop 브랜치에서 feature 브랜치를 분기하라고 함
그거 어케 하는데. 그리고 왜 하는데?
⚙️ Issue의 flow
- A기능을 개발해야 하는 상황 발생
- A기능 개발을 위한 Issue 생성
- develop 브랜치에서 A기능 개발에 대한 브랜치 분기
- 생성한 브랜치에서 A기능 개발 시작
-> 이 때 커밋 메시지에 #이슈번호를 붙여주면 해당 이슈 페이지에서 커밋 내역을 확인할 수 있다.
⚙️ PR의 flow
- A기능 개발을 위해 develop 브랜치로부터 분기한 A브랜치에서 기능을 개발
- 기능 개발이 완료된 A브랜치는 develop 브랜치에 개발한 코드를 합병하기 위해 PR을 보낸다.
- 팀원 간 코드 리뷰를 진행하고 리뷰를 마친 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가 뜬다.
- PR 제목, 내용 작성하고
- 이슈 번호를 #1 이렇게 입력해서 어떤 브랜치 위에서 작업했는지 표시해준다.
- Reviewer에 리뷰 요청할 팀원들을 선택한다.
- Assignees에 담당자(보통 본인)를 할당한다.
- Label을 선택한다.
- Create pull request로 PR 제출하면 끝
https://zerocoke-zzi.tistory.com/35
-> 스켈레톤 대충 어케 만드는지 참고
https://hyeonic.tistory.com/181
https://stayjun.tistory.com/126
-> 깃헙 이슈 작성 방법
'프로젝트' 카테고리의 다른 글
| (5)-2 SPA, MPA (0) | 2025.03.30 |
|---|---|
| (5)-1 Spring Boot3에서 Swagger 사용하기 : Swagger 설치, Swagger Config 설정 (0) | 2025.03.30 |
| (4) Rest API : Envelop pattern 봉투 패턴, 에러 공통 응답 형식 (1) | 2025.03.28 |
| (3) 알림 엔티티 생성 (0) | 2025.03.05 |
| (1) Jira/스크럼(Scrum)이란? 스크럼 진행 방식 / Sprint / Backlog (0) | 2025.02.03 |