포스트 작성에 앞서
이 포스트는 팀원들에게 공유의 목적으로 작성되었습니다.
이 작업 플로우는 우리 팀의 작업 방식이기 때문에 누군가 이 포스트를 보게 된다면 그대로 따라갈 필요는 없습니다.
Spring boot 프로젝트로 IntelliJ를 사용하고 있습니다.
Issue 생성
Todo, In Progress, Done 세 가지 기본 보드와 따로 추가한 Trouble Shooting 보드가 있습니다.
이슈들을 만들어 Todo에 추가합니다.
이슈 이름을 누르면 아래 화면이 나옵니다.
담당자는 Open으로 상태를 변경하고 Assignees에 자신을 추가합니다.
내용을 수정(우측 상단 ... 버튼 -> edit)하거나 comment를 이용해 작업할 내용이나 참고 자료 등을 메모합니다.
템플릿은 따로 생성하지 않을 예정이니 자신에 맞는 방법으로 자유롭게 작성해주세요.
기능 개발 시작 - In Progress 이동 및 브랜치 생성
기능 개발을 시작하면 Issue를 In Progress로 이동합니다. (드래그 앤 드롭)
그리고 이슈 번호에 맞는 브랜치를 생성합니다.
feature/#이슈 번호
예시의 이슈는 #1이기 때문에
feature/#1 branch를 로컬에서 생성합니다.
branch 생성 명령어
$ git branch feature/#1
branch 이동 명령어
$ git switch feature/#1
기능 개발 완료 - rebase, commit, push
기능 개발을 완료했다면 먼저 commit을 합니다.
그러나 push 전에 할 일이 있습니다.
dev의 커밋들을 가져와 feature 브랜치와 충돌이 있는지 검사해야 합니다.
일단 dev 브랜치로 넘어갑니다.
git switch dev
그리고 origin(원격 저장소)에 추가된 작업이 있는지 확인하기 위해 pull 합니다.
git pull origin dev
이제 다시 feature 브랜치로 넘어갑시다.
git switch feature/#1
dev의 작업물을 feature 브랜치로 가져올 건데 merge도 가능하나 로그를 남지 않게 하기 위해 rebase를 사용합니다.
rebase에 대한 설명은 참고 링크로 대체합니다.
rebase
git rebase dev
여기서 충돌이 발생할 수 있습니다.
Intellij에서 화살표 클릭으로 쉽게 충돌을 해결할 수 있습니다.
이외에도 많은 충돌 해결 방법이 있기 때문에 자신에게 맞는 방법으로 해결해주세요.
충돌을 해결했더니 커밋할 것이 생겼다면 Amend를 체크하고 같은 메시지로 커밋하면 됩니다.
Amend를 사용하게 되면 이전 커밋에 덮어쓰기가 됩니다.
커밋 전에 stash -> rebase를 하는 방법도 있지만 그 방법도 알고 있다면 이 가이드가 필요 없을 것 같습니다.
마지막으로 push를 합니다.
git push origin feature/#1
Pull Request
push를 하고 레포지토리로 들어가면 Compare & pull request 라는 버튼이 뜹니다.
사진은 예시일 뿐 꼭 dev 브랜치로 머지해야함!
앞에서 충돌을 해결했기 때문에 Able to merge라는 표시가 뜹니다.
title은 커밋 이름으로 알아서 작성해주기 때문에 그대로 둡니다.
따로 할 말이 있다면 description에 작성합시다.
우측 상단 Reviewers에는 팀장을 지정합니다.
마지막으로 Create pull request를 눌러 PR을 생성합니다.
반려 or 승인
이제 팀장이 코드 리뷰를 진행하고 Approve 혹은 Request changes를 남길 예정입니다.
Approve라면 담당자가 머지를 진행하고(Approve 상태일 때만 dev에 머지 가능하도록 설정할 예정!),
Request changes라면 코멘트를 바탕으로 코드를 수정하고 다시 pr을 올려주세요.
그리고 깔끔한 브랜치 관리를 위해 사용한 브랜치는 지워줍시다.
마치며
프로젝트를 진행하다가 워크플로 관련으로 막히는 점이 생긴다면 언제든 질문해주세요!
긴 글 읽어주셔서 감사합니다.
'정보' 카테고리의 다른 글
티스토리 오블완 챌린지 (4) | 2024.10.30 |
---|---|
취준생 시점 개발자 면접 질문 (3) | 2024.10.22 |
백준 GitHub 연동 손쉽게 하기 (0) | 2023.07.12 |