![](https://blog.kakaocdn.net/dn/zf2P2/btsvdvhnXlg/KNTL8pmqqUGOdzSbcuxmp1/img.png)
안녕하세요.
이번 포스트는 Github 카테고리에 있는 Project 탭을 통해 프로젝트에서 개발 tasks의 to do list를 정하고 풀리퀘 할 때, 이슈를 기반으로 todo list를 연동해 작업들의 수행 상태를 다루는 방법을 공유하려고 합니다: )
저는 기존에 협업 시 개발해야 할 요구사항 todo list를 팀원과 같이 노션에 정리 해왔습니다. 그리고 지금 작업중인 개발 진행 상황을 notion의 간트 차트를 통해 서로의 개발 작업 상황을 팀원과 공유했었습니다.
![](https://blog.kakaocdn.net/dn/FZVkU/btsuRIQYoU3/nErmZbk0bDiSjfotkjuLlk/img.png)
이 경우 좋은 점은 서로가 하고 있는 업무를 공유할 수 있다는 점입니다.
Github project와 issue로 개발 todo list를 관리하기 +_+
그것은 바로 Github Project와 issue를 통해 위와 같은 개발 진행 상황을 확인할 수 있다는 것입니다.
매번 PR을 날릴때 "#" 키워드와 issue를 작성할 때마다 자동으로 생기는 이슈넘버를 통해 특정 issue를 언급할 수 있고 닫을 수 있어서 정말 좋다는 것을 느꼈습니다. 매번 상세하게 작성하는 PullRequest에 더욱 도움이 될 수 있겠다는 생각이 들었습니다.
![](https://blog.kakaocdn.net/dn/PhBWZ/btsu0E1mTVR/mR5kLGYKH2sWkkMkF5pJpk/img.png)
깃허브 레포지토리를 들어가면 위와 같은 Project 카테고리를 볼 수 있습니다.
![](https://blog.kakaocdn.net/dn/cPqhSA/btsuZ3G6Lcc/1umNmdo4PPza2QgbGadaoK/img.png)
그리고 결론적으로 개발에 필요한 작업들을 깃허브 이슈를 통해 정하고 위와 같은 작업 상황을 파악할 수 있습니다. 이 item들은 issue를 기반으로 만들 수 있고, group으로 section을 나눌 수 있습니다.
서로 동기부여 되게 백엔드, iOS 모두 작업상황을 실시간으로 공유할 수 있도록 한 프로젝트 파일에서 grouping만 repository별로 다르게 했습니다.
![](https://blog.kakaocdn.net/dn/bf2NUR/btsu7UoXxBf/lFKQCdb1fUslMKyMCxwRUK/img.png)
와... duration도 지정할 수 있네요...
이제부터 Github project 다루는 방법을 소개하려고 합니다.
Github project 만들기
![](https://blog.kakaocdn.net/dn/BU1lU/btsu7R6MVU4/9o3OfsupHjiHGtvIs3cFr0/img.png)
만드는 방법은 정말 간단합니다.Project 카테고리에서 New Project 버튼 누르면 끝입니다. 여기서 Board가 좋은것 같아서 저는 보드로 선택했습니다. table로 변경해도 추후 View 1 의 아래꺽쇠를 눌러 변경할 수 있습니다.
![](https://blog.kakaocdn.net/dn/pf4hH/btsu7RZ0tlB/MBfKnIEFykJkitkzQcdrtK/img.png)
보드로 만들게 되면 3가지의 영역이 생깁니다. 그리고 아래 Add Item을 눌러 issue카테고리에 issue를 만들 수 있습니다.
![](https://blog.kakaocdn.net/dn/XZrUr/btsuSnTFhdw/5HRbT3eoWheLmwegOewj9k/img.png)
여기서 왼쪽 플러스 버튼을 한번 더 누른 후
![](https://blog.kakaocdn.net/dn/QDvj1/btsu9TiXQFT/pAieeuJst99ttRnarHfq7K/img.png)
Create New issue를 누릅니다.
![](https://blog.kakaocdn.net/dn/bXlN2u/btsvaDfTLHn/sMlFpliKGuSRWqIdKrHgo1/img.png)
레포지토리별로 특정 레포지토리안에 이슈를 만들 수 있습니다.
![](https://blog.kakaocdn.net/dn/bhxvdf/btsu9NiRgzp/hezPpe7v4Puk5KGat69SyK/img.png)
기본적으로 이슈는 issue template를 설정하지 않았다면 Blank issue만 존재합니다.
Blank issue를 눌러서 원하는 development tasks에 대한 todo list를 작성할 수 있습니다: )
![](https://blog.kakaocdn.net/dn/68rkj/btsvdqHcg2L/Pw6JWpk1XAonAyxND8epS0/img.png)
이 화면에서 특정 레포지토리 안에 이슈를 작성할 수 있습니다. 여기서 해야할 일을 작성합니다. 특정 팀원한테 조언을,, 구하기위해 assignee를 지정할 수 있고 아니면 현재 누가 task를 작업중인지를 위해 구분지을 수 있습니다. 그리고 label을 붙일 수 있습니다.
(저희 팀은 이슈 탭에 개념이나 마주한 문제 상황 등도 작성하기 때문에 Label로 todo를 만들어 구분지었습니다.)
Create버튼을 누르면 이슈가 생성되고 실시간으로 이슈 넘버도 부여됩니다.
![](https://blog.kakaocdn.net/dn/kEXVd/btsuSkCGGp7/C3kKGiOVQpRwNbtgTVrsdK/img.png)
실시간으로 이슈가 생긴 것을 이슈 탭에서도 확인할 수 있고 Github proejct에서도 확인할 수 있습니다.
![](https://blog.kakaocdn.net/dn/1g8WR/btsuZUDgTLF/xaeHbLAn6zleRGkQ2tmA00/img.gif)
3 tasks가 보이는데 이는 라디오 버튼을 체크하면 tasks 완료 상태가 올라갑니다. (TMI: iOS 오픈 카톡방 개발자분들이 알려주셨습니다. 질문 안 했으면 계속 모르고 있었을 것 같습니다.)
이렇게 만들어진 이슈는 Github project에서 Todo -> In Progress section으로 옮길 수 있고, done으로 drag and drop으로 옮길 수 있습니다.
다시 돌아와서
![](https://blog.kakaocdn.net/dn/YN9Yd/btsuZ1bpQlr/xQtquPGOYt7aSoIRrnBLf1/img.png)
issue item에 label을 보이도록 하는 방법은 Fields configuration을 누른 후 Hidden fileds를 visible fields로 체크하면 됩니다.
![](https://blog.kakaocdn.net/dn/90oG5/btsuZZLpvG8/TBxvO0bApGbqragHaKLgB1/img.png)
Group by를 특정 state로 해서 분류할 수 있습니다.
![](https://blog.kakaocdn.net/dn/yJv7f/btsvaGKrKoa/KyuzRo98KNkstbaBktdzSk/img.png)
그리고 가장 중요한 것은 우측에 Save 버튼을 통해 저장해야 합니다.
Todo, In Progress, Done 모두 다 다른 네이밍을 부여할 수 있습니다. 이를 통해 꼭 todo list를 project에서 다루는게 아니라 다른 경우도 project에서 활용하면 좋을 것 같습니다.
Roadmap layout 다루기
이번엔 보드가 아니라 Roadmap을 소개하려고 합니다.
![](https://blog.kakaocdn.net/dn/cIzVxa/btsuZ3UFRuc/OkRQ6kUTmB6A7rcv8Vt7V1/img.png)
로드맵에서 새로운 필드로 start, end date를 만들 수 있습니다.
![](https://blog.kakaocdn.net/dn/bh9G8X/btsuRCXw56b/HuMNPfxJKKdN5lfs0ivd3K/img.png)
네이밍을 잘못 지었다면 settings에서 삭제할 수 있습니다.
![](https://blog.kakaocdn.net/dn/oTNxt/btsvb36rZB9/TKKGpcXp2ebS4YCmSl0Sb0/img.png)
속성을 추가했다면, 이슈를 클릭하고, start Date, end date를 지정하고 삭제할 수 있습니다.
![](https://blog.kakaocdn.net/dn/bvINwh/btsuTPWArPw/8a8yVwyc6v6YbOJok8WaeK/img.png)
그럼 아래와 같이 시작, 끝 기간도 지정할 수 있습니다. 대박이네요.
![](https://blog.kakaocdn.net/dn/pcD5A/btsu9NpDsMa/tECC2fvmkZPx9jLi2JrOpk/img.png)
요롷게!!
![](https://blog.kakaocdn.net/dn/bf2NUR/btsu7UoXxBf/lFKQCdb1fUslMKyMCxwRUK/img.png)
다음 포스트는 PullRequset할 때 특정 이슈의 작업을 전부 수행했을 경우 open issue를 close하고 done으로 자동으로 옮길 수 있는 방법을 알게되면 포스트로 작성할 예정입니다.
'Git' 카테고리의 다른 글
[Github] review pending . pull request에 답변을 달았는데 상대방한테 안보이는 경우 (0) | 2023.04.30 |
---|---|
[iOS/Git] .xcodeproj/project.pbxproj 양쪽에서 수정( merge할 때 자동 병합 안되는 경우) (2) | 2023.01.10 |
[ios/Git] can't find gem cocoapods (>= 0.a) with executable pod 에 관해 (0) | 2022.10.28 |
git merge 에 관련된 실험 .merge 된 브랜치. 특정 커밋 시점으로 이동하는 법 (0) | 2022.01.19 |