Post

[Git] 형상 관리

형상 관리란?

소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전 관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기합니다.

형상 관리의 중요성

개발팀이 협업을 진행하는 과정에서 만약 모두 각각의 branch가 아닌 하나의 main에 작업을 한다고 생각해봅시다. 프로젝트의 크기가 클수록 각각의 인원이 개발한 부분을 구분하기가 힘들어지고 체계적인 관리가 힘들어지기 때문에 직관성을 떨어트리며 코드 리뷰와 테스트가 어려워집니다. 또한 하나의 main branch에 모든 인원이 커밋을 하기 때문에 코드간의 충돌 확률은 더욱 올라가며 버그와 에러가 발생했을때 개발에 큰 차질이 생길 수 있습니다. 이러한 문제점들을 방지하기 위해 형상관리는 필수적입니다.

형상 관리 툴

여러가지 툴이 있겠지만 사람들이 흔하게 사용하는 Git을 기준으로 글을 작성해보았습니다.

형상 관리시 규칙

1.자주 커밋하라

습관적으로 작은 부분이라도 자주 커밋하는 습관을 기릅시다. 작은 커밋들을 통해 세세한 기능 구현 및 코드 변화를 알 수 있어 협업에 매우 용이합니다. 또한 롤백이 필요한 부분을 선택하기 쉬워집니다.

2.의미있는 커밋 메세지를 작성하라

커밋 메세지를 01-01, 01-02와 같은 날짜로 작성하는 것은 그만둬야합니다. 의미없는 커밋 메세지는 가독성을 떨어트리고 문제 해결에 큰 걸림돌이 될 수 있습니다. 커밋 메세지를 의미있게 작성하여 명확한 의도를 보여주고 구체화한다면 협업 과정에서 다른 팀원이 코드 리뷰를 하는데 큰 도움이 될 것입니다.

3.브랜치를 이용하라

root branch인 main(혹은 master)은 릴리즈용으로 놔두고 세부적인 branch들을 통해 작업합시다. 예를 들자면 각각의 카테고리 별로 branch를 만들거나, 개발팀이라면 각각이 맡은 역할별로 branch를 만드는 식으로 만들어 보는 것입니다. 일단 branch를 만들어 작업하면 main branch에 merge하기 전까지 main branch에 영향을 끼치지 않습니다. Git 또한 코드 수정시에 branch의 사용을 권장하고 있기 때문에 추후 발생할 충돌 및 에러를 최소화하려면 필수적으로 branch를 이용하는 것이 중요합니다. 또한 branch를 세부적으로 만들면 체계적인 관리가 쉬워지며 추후 코드 검토에 큰 도움이 됩니다.

4.브랜치 전략을 세워라

브랜치를 사용한다면 여러가지 전략이 있을 것입니다. 흔히 사람들이 자주 사용하는 전략으론 Git Flow, Github Flow, GitLab Flow 등 다양한 전략들이 있습니다. 이러한 전략들을 수립하여 협업한다면 더욱 효과를 낼 수 있을 것입니다.

This post is licensed under CC BY 4.0 by the author.