2022년 5월 1일

Daisy🌼·2022년 5월 1일
0

개인 프로젝트를 시작하기 전에 다른 분들의 사이드 프로젝트를 참고하면서 git branch 전략commit 전략이라는 것을 알게 되었다. 비록 혼자 개발할 프로젝트이지만, 나중에 있을 협업에 적용하기 위해 알아보았다. git branch 공부를 하다가 궁금했던 CI/CD 개념과 Jenkins라는 툴이 CI/CD에 사용되는 툴이라는 것을 알게 되어 기뻤다. 의외의 발견이 더 반가운 법!👀✨

오늘 학습한 내용 중 떠오르는 단어

  • git, branch, merge

  • 브랜치 전략, git-flow, github-flow, CI/CD

단어를 조합해 오늘 배운 내용 설명

git, branch, merge

  • git이란 개발에 필요한 소스코드의 버전을 관리하는 도구이다.

  • 개발자들은 git을 사용해 각작 독자적으로 개발한 다음 최종 프로젝트에 병합하는 방식으로 협업한다.

  • git의 branch(브랜치)라고하는 개념을 사용함으로써 위와 같이 독립적으로 작업하고 병합할 수 있다.

  • branch는 개발자들이 독립적으로 작업할 수 있도록 하는 개념이다.

  • 각각의 브랜치는 다른 브랜치에 영향을 받지 않기 때문에, 개발자들이 여러 작업을 동시에 진행할 수 있도록 한다.

  • 브랜치는 나중에 병합(merge)을 통해 독립적으로 개발한 내용을 프로젝트에 합칠 수 있다.

  • merge는 독립적인 브랜치의 소스코드를 상위 브랜치에 합치는 것이다.

  • 프로젝트가 최종적으로 배포되는 main(또는 master) 브랜치에 merge하거나 현재 브랜치의 상위 브랜치로 merge한다.

브랜치 전략

  • 자신이 맡는 프로젝트의 성격 등에 따라 어떤 브랜치를 생성하고 어떻게 병합할 것인지에 대한 업무 흐름(work-flow)을 정해야 한다.

  • 이러한 work-flow를 브랜치 전략이라고 한다.

  • Git-Flow, Github-Flow, Gitlab-Flow 이렇게 크게 3가지의 브랜치 전략이 있다.

Git-Flow

  • git-flow는 아래 5가지 종류의 브랜치를 사용한다.

    • master : 제품으로 출시될 수 있는 브랜치
    • develop : 다음 출시 버전을 개발하는 브랜치
    • feature : 기능을 개발하는 브랜치
    • release : 이번 출시 버전을 준비하는 브랜치
    • hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
  • master(현재 github에서는 main으로 명칭 변경) 브랜치와 develop 브랜치는 필수로 관리하고, 나머지 브랜치들은 필요에 의해서 유연하게 관리한다고 한다.

Github-Flow

  • git-flow보다는 간단한 작업 흐름을 가지고 있다.

Gitlab-Flow

  • git-flow는 너무 복잡하고 github-flow는 너무 간단해서 bug fix 등 보완해야 할 때 사용한다고 한다.

CI/CD

  • CI(Continuous Integration)는 "지속적 통합"을 의미하는 단어로, 빌드/테스트 자동화 과정이라고 할 수 있다.

  • CD는 "지속적 배포(Delivery)"를 의미하는 단어로, 배포 자동화 과정이라고 할 수 있다.

  • 대표적인 CI/CD 툴에는 Jenkins, Travis CI, Bamboo 등이 있다.


📚 참고자료

git-flow 차트 이미지
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

내용 출처 및 앞으로도 참고하면 좋은 블로그

profile
커피와 재즈를 좋아하는 코린이 | 좋은 글 좋은 코드를 쓰고 싶습니다

0개의 댓글

관련 채용 정보