본문 바로가기

Git

Gitlab과 GitlabFlow

oh! java,Sungjin Kang 님의 블로그를 참고하였습니다. https://ojava.tistory.com/158 https://ujuc.github.io/2015/12/16/git-flow-github-flow-gitlab-flow/

Git의 관리 전략을 알아 보던 와중 GitlabFlow에 대해 조사하게 되었다. Gitlab이 무엇인지, GitlabFlow가 무엇인지 조사해 보자.

 

GitLab 이란?

  1. Github와 Gitlab의 차이
    • Github

      저장 공간을 무료로 제공

      저장 공간을 사용하는 경우, 코드를 공개 해야 한다. 공개 하고 싶지 않다면 private repository를 사용해야 하지만 무료 계정에서는 제한이 있다.

      속도가 빠르고 다른 형상관리 툴과 호환성이 좋다.

      오픈소스 개발 및 배포에 유리하다.

    • Gitlab

      오픈소스 개발이 아닌 private 프로젝트에 적합하다.

      무료이다.

      설치형 Gitlab은 저장소를 설치할 서버가 필요하다.

      Github에서 제공하는 기능을 대부분 제공한다.

Gitlab Flow

GitHubFlow 에서의 간단한 구조로 인해 너무 많은 이슈를 남게 된다. 이러한 문제를 보완하기 위해 설계되었다.

  1. Production branch

    브랜치를 추가하여 커밋한 내용들을 일방적으로 배포하는 형태

 

2. Envrionment branch

master 와 production 사이에 pre-production 브랜치를 두어 개발 내용을 시간을 두고 반영하는 것

 

3. Release branch

release한 브랜치를 두고서 보안상 문제가 발생한 것이나 백 포트를 위해서 작업할 경우 cherry-pick을 이용해서 작업을 진행하거나 해당 release에서 발생하는 버그들을 묶어 수정하는 방식으로 작업한다.(upstream first 정책)

 

현재 본인은 서비스되고 있는 프로젝트를 개발하고 있지 않고 협업하는 사람도 얼마 없어 쉽고 간편하게 적용할 수 있는 GithubFlow를 적용 중이다. 일단 프로젝트의 안정성을 위해 upstream 저장소를 개인 저장소에 fork하여 작업하고 완료되면 pull request를 보내는 방식으로 하고 있다. 아직은 Github 저장소도 무료계정으로 사용가능한 private 저장소를 사용하고 있지만 이부분이 초과하게 된다면 Gitlab 적용을 고려해 보아야 할 것이다.

GithubFlow가 간단한 만큼 브랜치 명이나 커밋내용에 많은 신경을 써야 한다고 알게 되었다. 신입 개발자 이기에 아직 기초 지식이 부족한 만큼 앞으로 계속 사용해야 하고 본인이 Github에서 가장 모르고 있는 이슈와 이슈트래커에 대해 다음시간에 정리해볼 예정이다.

 

'Git' 카테고리의 다른 글

Git- GitFlow와 GitHubFlow  (0) 2020.07.26
Git- Git과 GitHub란  (0) 2020.07.19