최근 개발자 풀이 늘어나면서 git을 사용하는 사람들도 증가하고 있다.

 

하지만 그 유명하고 편하고 좋다는 git! 

어떻게 사용해야 더 잘 사용할 수 있을까?

 

현업에서 git을  사용하면서 많은 개발자들이 고민, 또 고민했던 문제이다.

 

이제 git branch 전략을 통해 (나보다)똑똑한 사람들은 어떻게 깃을 사용하는지 알아보자.

 

 

깃 브랜치 전략이란?

 

 

깃을 사용하다보면 branch라는 개념을 알 수 있다. 나무의 가지를 뜻하는 영어이기도 하고, 프랜차이즈의 분점을 지칭하기도 하는 branch는 메인으로 사용하는 마스터 외의 브랜치를 의미한다.

 

깃 브랜치 전략은 바로 그 브랜치들을 어떻게 활용하는지 그 관리하는 방법 혹은 지침이라고 할 수 있다.

코드의 컨벤션이 존재하듯 깃도 어떻게 브랜치들을 사용할지 개발자 선배님들이 정의해놓은 활용 방법이다.

 

 

깃 브랜치 전략의 종류

 

깃 브랜치 전략은 많이 있지만 주로 사용되는 전략들을 살펴보자.

 

1. Git Flow 

2. GitHub Flow 

3. GitLab Flow

 

 

 

Git Flow

Git Flow 전략은 master, develop, feature, release, hotfix 등 다양한 브랜치 유형을 사용하여 복잡한 프로젝트를 관리할 수 있는 구조이다. 장기 프로젝트에 적합하고 여러 사람들이 협업을 진행할 때 효과가 좋다. 각 브랜치마다 역할을 명확하게 나눠서 각자의 branch에서 업무를 진행하고 그 용도에 맞는 branch에 merge를 진행한 뒤 이전 개발하던 branch를 삭제하므로 꼬일 위험도 줄어든다.

 

 

GitHub Flow

GitHub Flow 전략은 main 브랜치를 주로 사용한다. 그러다가 각 작업이나 기능 개발을 위한 브랜치를 생성하여 작업을 진행한 후 main branch에 병합한다. 이후 작업했던 branch는 삭제한다.

단순한 구조로 되어있고 CI/CD와 관련있는 프로젝트에 적합한 전략이다.

 

 

 

GitLab Flow

GitLab Flow 전략은 GitFlow와 GitHub Flow를 섞은 전략으로 생각하면 이해하기 쉽다. GitLab은 웹 기반의 Git 리포지토리 관리 시스템으로 다양한 서비스를 제공하고 있다. GitLab Flow는 GitLab 환경에서 사용되는 전략으로 유연한 작업 흐름을 제공한다. production 브랜치가 있다는 것이 특징으로, production 브랜치는 배포를 위한 브랜치이다. 

담당자들은 feature branch에서 개발을 진행하고 완료되었을 경우, 의논을 통해 병합을 하는 방식으로 진행한다.

 

 

 

브랜치 전략은 프로젝트와 각 조직에 따라 변경될 수 있다. 따라서 어떤 브랜치 전략이 지금 진행하고 있는 프로젝트에 적합한지는 구성원들이 함께 노력해나가면서 만들고 변경해나가야 한다고 생각한다.

 

 

참고 사이트 

 

https://docs.github.com/en/get-started/quickstart/github-flow

 

GitHub flow - GitHub Docs

GitHub flow is a lightweight, branch-based workflow. The GitHub flow is useful for everyone, not just developers. For example, here at GitHub, we use GitHub flow for our site policy, documentation, and roadmap. To follow GitHub flow, you will need a GitHub

docs.github.com

 

https://about.gitlab.com/topics/version-control/what-is-gitlab-flow/

 

What is GitLab Flow?

Code reviews ensure developers ship the highest quality code through systematic assessments designed to identify bugs.

about.gitlab.com

 

https://techblog.woowahan.com/2553/

 

우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그

{{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합

techblog.woowahan.com

 

'깃허브' 카테고리의 다른 글

[github] 깃으로 하는 협업: 코멘트 남기기  (0) 2022.08.02

 

팀 과제를 하면서 깃으로 각자 파일을 올려 코드리뷰를 진행하고 있다.

코드리뷰는 깃으로 올린 파일을 zoom으로 화면 공유를 해서 팀원들과 코드를 함께 보고 질문, 답변, 발전 방향 제시 등으로 이뤄지고 있었다.

 

하지만 zoom을 통해 실시간으로 코드리뷰를 하는 데에 한계점들을 발견했다.

- 긴 코드를 읽으려면 화면 공유로는 어려움이 많음

- 오류 해결을 위해 컴파일, 테스트할 시간 부족

- 디테일한 코드 수정의 어려움

 

깃으로 협업을 하고있었지만 아직 활용도가 낮은 상태였던 우리 팀이었기에 깃을 활용할 수 있는 방안을 찾다가...

코멘트 기능을 사용하기로 했다.

 

 

깃헙으로 코멘트 남기는 방법

 

 

 

코멘트는 깃허브에 올린 파일이 아니라 PR에서 남길 수 있다!

 

따라서 깃허브에 올릴 때 commit의 타이밍이 아주 중요하다.

 

'깃허브' 카테고리의 다른 글

[git] 깃 브랜치 전략이란?  (0) 2023.11.02

+ Recent posts