실무에서 github을 통해 회사 자산인 코드를 관리하고 동시에 유관부서와 협업을 합니다.
github 중요성은 아무리 강조해도 지나치지 않는 것 같네요.
그래서 오늘은 Github 기능에 대해서 간략하게 다뤄보도록 하겠습니다.
제 경우에는 코드나 프로젝트를 진행하면서 기본기능(커밋, 푸쉬, 브랜치, 머지, 리베이스 등)은 자주 사용하고 있는데요.
다만 `Issue`, `Pull requests` 기능은 한번도 사용하질 않았습니다. 이번 테크레터는 두가지 기능에 대해 중점적으로 공부해볼게요.
Tip)
기본적인 지식은 아래 두가지 링크를 남겨 드릴테니 직접 실습을 통해 공부하시길 추천 드립니다.
제안 드리는 학습 방향은 다음을 참고해주세요.
1) 도서를 구입하신 후, CLI(Command-Line Interface) / GUI(graphical user interface, 책에서는 소스트리)에 대한 감 익히기 > 1~2일 소요
2) 강의 : 여러 충돌 발생 상황을 어떻게 해결하는지 등 다양한 경험을 익히실 수 있습니다.
- 도서 : 얄코의 TOO MUCH 친절한 깃&깃허브
- 강의(무료) : Git과 GitHub 시작하기(인프런)
.
.
1. Issue
일반적으로 개발은 킥오프 미팅을 통해, 고객 요구사항부터 마일스톤, 담당자 등을 확인한 후 후속 업무를 진행합니다.
- `Issue`
- 개발 관련 모든 작업 활동을 이슈로 등록 가능 (기획, 기능 추가, 리팩토링, 버그 수정 등)
- issue를 하나의 task로 이해하시면 됩니다.
github에서 제공하는 기본 가이드를 참고하시기 바랍니다. (여기 참고해주세요)
그리고 다른 개발자분들의 github링크에 들어가셔서 어떻게 사용하는지, 직접 확인해보시는 것도 좋겠네요.
저는 다음과 같이 실습을 진행했습니다.
1-1. 이슈 생성
- Assignees : 상황에서 맞게 설정하시면 됩니다.
ㄴ 코드 개선인 경우, 해당 팀의 선임으로 설정하시면 되고, 동료 검토일 경우 동료 개발자를 선택하시면 되겠네요. - Labels : 카테고리 지정
ㄴ 직접 추가도 가능함 - Projects : 생성된 프로젝트가 있는 경우에 한하여 설정
- Milestone : 프로젝트 개발일정에 맞춰 설정
1-2. 이슈 확인
- 기본적으로 생성된 이슈들을 모두 확인할 수 있습니다
- label별로 상세 확인 가능
ㄴ '진행중'인 이슈들만 필터링해서 확인할 수 있습니다.
1-3. (예시) toss/slash
`Slash` is a collection of TypeScript/JavaScript packages used in Toss. It provides over 30 npm packages which can serve as a foundation to provide high-quality web services.
2. Pull Requests
풀리퀘스트의 경우, 참고1(개념) / 참고2(코드리뷰 적용) 참고해주세요.
위에서 다뤘던 이슈와 다르게, 혼자 실습할 수는 없는 것 같네요.
참고 링크에서 나와있는 개념을 간략하게 정리해보겠습니다.
현업뿐만 아니라 코드 리뷰에서도 PR을 사용하는 것으로 보입니다.
- `Pull requests`
- 코드 기여 활동 중 하나이며, 최종 머지하기 전에 확인을 받는 절차입니다.
- A개발자의 원격 레포지토리 기준, B개발자 코드 개선(or 수정)작업한 후 A개발자에게 검토 요청(pull requests)을 날립니다.
- A개발자는 변경 내역이 합당한지를 체크하고, 합리적일 경우 최초 Master에 Merge(병합)합니다. (아닐시 reject)
PS : 같은 스터디 조원 중 우테코 프리코스과정을 마치신 분께 PR 사용 경험이 있으신지 문의해보니, 코드 리뷰를 받는 과정에서 PR을 써보셨다고 하시네요. 알아두면 좋을 것 같습니다.
감사합니다.
'테크레터' 카테고리의 다른 글
테크레터 7편. 자바 스크립트 관련 잡담(feat. 설문조사) (0) | 2024.01.29 |
---|---|
테크레터 5편. 데이터베이스 인덱스 (0) | 2024.01.05 |
테크레터 4편. HTTP request 메서드 (0) | 2023.12.29 |
테크레터 3편. 누가 Restful API 소리를 내었는가 (0) | 2023.12.22 |
테크레터 3편. 컴파일러와 인터프리터의 차이는 무엇인가요? (0) | 2023.12.19 |