이번에 프로젝트를 진행하며
처음으로 Gerrit을 사용해보았다.
Git과 상당부분 닮아있는데, 이 Gerrit은 왜 쓰는 것이고, 어떤 장점이 있는지 정리해보려 한다.

게릿(Gerrit)은 무료 웹 팀 코드 협업 도구이다.
Gerrit은 코드 리뷰를 자동화와 동시에 강제성을 부여함으로써 기능개발을 완료한 Commit들에 대해 원격 저장소로 Push를 할때 자동으로 지정된 리뷰어에게 알림이 전송되며, 리뷰어는 웹 브라우저를 통해 리뷰를 진행한다.
이 때 코드 리뷰를 통해 부여된 점수가 일정 수준 이상이 될 때 실제 소스코드에 반영이 이루어진다.
앞서 말했듯, 게릿은 커밋 단위로 코드 리뷰가 진행되게 된다.
예를 들어, 개발자가 자신의 로컬 브랜치에 Commit을 5개 올리고, 원격 저장소로 Push를 한다면?
Submit 또한 각 Commit에 대해 활성화 되고 개별적으로 적용가능하다.
Github에선 보통 PR(Pull Request) Gitlab에선 MR(Merge Request) 단위로 코드 리뷰를 진행한다.
즉, Commit의 개수는 상관없이, Push로 이미 브랜치 반영된 소스코드에 대해 다른 특정 브랜치로 병합을 하기 위한 요청에 대해서만 코드 리뷰가 진행 가능하다.
코드 리뷰 과정에서는 승인 혹은 거부 밖에 없기 때문에 자세하게 보지 않고 승인하는 경우도 왕왕 있다.
이렇게, Commit 단위로 리뷰 단위를 세분화하고, Pass/Unpass가 아닌 점수를 부여하고 코멘트를 달며 보다 상세히 리뷰를 하여 보다 더 꼼꼼하고 체계적인 코드리뷰 체계를 지킬 수 있다.
이번에 사용해보며 느낀건, 확실히 코드리뷰가 강제화 되다보니 훨씬 코드리뷰가 활발하고 적극적으로 일어나고 있다고 느꼈다.
솔직히 기존의 MR을 날리며 리뷰를 할땐, 형식적으로 확인만 하였는데(MR 하나의 단위가 크기도 하여 코드를 하나하나 보기가 힘들기도 했었다.) 커밋단위로 세분화되니 한번의 리뷰에 소요되는 시간도 많이 줄어들어서 코드리뷰하기 더 편하고 간단한거 같다.
앞으로도 계속 Gerrit을 사용할 의향이 100% 있다 !