프로젝트 협업 어떻게 하는게 좋을까요?
우리의 삶에서 인터넷을 떼어 놓을 수 없듯이 어떤 서비스를 하든 소프트웨어가 빠지는 곳이 없습니다. 소프트웨어의 사이즈는 거대해졌고, 기술과 사회는 빠르게 변화하고 있습니다. 그래서 보다 빠르게 개발하고 배포하는 것이 중요해졌습니다. 이를 위해 다수의 사람들이 협업하여 개발을 진행하고 있습니다. 그런데 수많은 사람들이 협업을 하는데 문제가 발생하지 않을까요? 여러 사람들과 협업을 하다보면 다양한 문제를 마주치게 됩니다.
이전편은 아래 링크에서 확인하세요.
Merge Request를 왜 사용해야 할까?
개발자들은 Git을 통해 버전을 관리하고 개발을 진행합니다. 그리고 한 개발자가 코드를 수정하고 커밋을 합니다. 커밋 메세지로 간략한 내용을 확인 할 수 있지만, 이 코드에 대해 자세히 알 수 있는 방법은 코드를 직접 들여다 보는 수 밖에 없습니다. 즉, 개발자가 아니라면 Git만으로는 커밋의 목적과 내용에 대해 파악하기 어렵습니다. 또 이런 커밋들이 수 없이 만들어지면 히스토리를 어떻게 관리하고 트래킹을 할 수 있을까요? 이런 문제를 해결하기 위해 다양한 개발 방법론과 협업을 위한 프레임워크가 연구되어 왔습니다. 이 중 GitLab은 협업을 위해 Merge Request(MR)의 사용을 제안합니다.
Merge Request의 이점
Gitlab의 MR은 다음과 같은 이점이 있습니다.
-
코드의 목적과 내용 파악 용이
요구사항 또는 이슈를 적어서 상세한 작업 내용을 공유합니다. 이것으로 해당 코드가 어떤 기능을 구현했는지, 어떤 문제를 해결했는지 등 코드의 목적과 내용을 비개발자도 충분히 쉽게 이해할 수 있습니다. -
코멘트를 활용한 다수의 사람들과 커뮤니케이션
위에서 확인한 내용을 바탕으로 서로 생각의 다른 점이 있는지, 더 추가할 내용이 있는지 등 코멘트로 피드백을 줄 수 있어 보다 빠르고 정확한 커뮤니케이션이 가능합니다. -
코드리뷰를 하기 좋은 환경
관련된 커밋 리스트, 코드 체인지, 코멘트를 활용하여 코드 리뷰 하기 좋은 환경을 제공받습니다. -
관리 용이
요청된 코드를 승인하고 적용시키는 관리자를 지정할 수 있어 관리 차원에서도 도움이 됩니다.
정리 해보면, 머지리퀘스트는 하나의 기능과 목적에 대해 모든 작업 내용을 한곳에서 공유하고 커뮤니케이션함으로써 협업 할 수 있게 해주는 기능 입니다.
GitLab은 MR을 어떻게 사용하고 있을까?
그렇다면 GitLab은 어떤식으로 MR을 관리하고 있을까요? GitLab은 거의 모든작업을 GitLab.com그룹에 오픈하고 있습니다. GitLab은 어떤식으로 MR을 사용하는지 GitLab.com을 꼭 둘러보시길 추천드립니다.