본 글은 팀 내 컨트리뷰션 룰 세팅을 위해 필자가 사이드 프로젝트에서 작성했던 글이다.
컨트리뷰션 룰 관련 세팅은 상당히 팀원들과 대화를 많이 해야하는 부분이다.
다른 분들도 본 글을 참고해서 팀원들과 협의한 다음, 함께 룰 세팅하시길 바란다.
기본적으로 Git-flow를 따라가고 있어요.
하지만, 너무 여러 브랜치가 난립하는 걸 막기 위해서 기본적으로 세 종류의 브랜치를 운영하고 있다고 생각하면 좋을 꺼 같아요
우린 Git-flow를 사용하고 있어요 - 우아한형제들 기술 블로그
우리는 기본적으로 여러가지 merge 전략을 쓰고 있고, 모든 merge를 Github의 Pull requests를 통해 진행하고 있어요.
Pull Request를 생성하면 알아서 CI 툴을 통해 빌드 및 테스트 과정도 거친답니다.
아래는 각 브랜치 별 머지 전략이에요.
만약 conflict가 발생했다면, git rebase를 사용하는 것을 선호하고 있어요.
시간이 된다면 이 글도 읽어보면 좋아요! (하지만 —force 옵션은 어떤 이슈가 생길지 모르기 때문에 최대한 지양하고 있어요!)
Git rebase와 친해지기 (git conflict를 해결하는 방법 & upstream에서 rebase하기)
PR 포맷 관련 글은
Commit은 기본적으로 이렇게 작성하고 있어요.
`커밋 종류`: `커밋의 타이틀` `커밋 내역` ... example) feature: cookie update 기능 추가 해당 커밋은 쿠키를 업데이트 하는 기능을 추가하였다. 메소드는 PATCH를 사용하게 하였다. put말고 patch를 선택한 이유는 전체를 업데이트 하는 것이 아니라 필드 일부를 업데이트하기 때문에 RESTful API에 따라 PATCH가 더 의미를 가진다고 생각했다.
일단 commit -m을 사용하는 것은 비교적 지양해주세요.
구체적인 메시지와 상황을 써주는 게 좋습니다.
pre-commit hook(커밋을 하기 전에 체크하는 로직을 돌릴 수 있는 기능)을 걸어놨기 때문에,
type-check가 안 된다거나 등의 이슈가 있으면 커밋이 안될 수 있어요.
이럴 때, commit -n을 사용하면 그냥 커밋을 날릴 수 있는데
이 방법은 아주 위험하기 때문에!!(빌드가 안될 수도 있거든요ㅠㅠ) 사용하지 말아주세요.
이왕이면 commit을 잘게 쪼개서 작성해주세요.
내역과 메시지를 잘 나눠두면,
코드를 작성한 사람이 어떤 의식의 흐름으로 작성했는지 리뷰어가 쉽게 파악할 수 있어요.
그렇기 때문에 commit을 최대한 작게 쪼개서 작성해주세요!
주니어 백엔드 개발자를 위한 추천 도서 목록 (4) | 2021.06.08 |
---|---|
개발 및 비개발직군을 위한 Refactoring 이야기 (0) | 2021.01.30 |
2분 59초 안에 좋은 PR 작성하기 (0) | 2020.09.22 |
[Markdown] 웹 개발자를 위한 README.md 작성법 (0) | 2020.06.16 |
댓글 영역