성장에 목마른 코린이

Git 브랜치 관리와 고급 기능 본문

CodeStates/Section 3 (백엔드)

Git 브랜치 관리와 고급 기능

성장하는 코린이 2022. 4. 27. 11:20
728x90

브랜치(Branch)

브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념입니다.
개발을 하다 보면 한 페이지 안의 여러 기능을 따로 구현하기 위해, 코드를 여러 개로 복사해야 하는 일이 자주 생깁니다.
브랜치 기능을 활용하면, 코드를 통째로 복사한 후 원래 코드가 변경될 우려 없이 독립적으로 개발할 수 있습니다.

각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있습니다.

브랜치 기능의 장점

  • 한 소스코드에서 동시에 다양한 작업을 할 수 있게 해준다.
  • 소스코드의 한 시점과 동일한 상태를 만들고, 브랜치를 넘나들며 작업을 수행할 수 있다.
  • 각각의 브랜치에서 생긴 변화가 다른 브랜치에 영향을 주지 않고 독립적으로 코딩을 진행할 수 있다.

여러 브랜치를 만든 레파지토리의 Git Graph

master 또는 main 이라는 이름을 가진 통합 브랜치에 뿌리를 두고, 각각의 브랜치가 갈라져 나오고 있는 모습입니다.

이렇게 나누어진 브랜치에서는 각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경할 수 있습니다.

분리된 작업 영역에서 변경된 내용들은 다른 브랜치와 병합(Merge)함으로써 다시 새로운 하나의 브랜치로 모을 수 있습니다.

아래 그림을 통해, 브랜치를 사용하여 동시에 여러 작업을 진행할 때의 작업 흐름을 한눈에 파악할 수 있습니다.

동시에 여러 작업을 진행하는 Git Graph

여러 명이서 동시에 작업을 할 때에 다른 사람의 작업에 영향을 주거나 받지 않도록,

먼저 통합 브랜치에서 자신의 작업 전용 브랜치를 만듭니다.

그리고 각자의 브랜치에서 맡은 영역에 대한 작업을 진행한 후,

작업이 끝난 브랜치는 통합 브랜치에 병합해서 변경 사항을 적용합니다.

이를 통해 다른 브랜치의 작업에 영향을 받지 않고 독립적으로 특정 작업을 수행하고 그 결과를 하나로 모아 나가게 됩니다.

이렇게 작업을 진행하게 되면 '작업 단위', 즉 브랜치로 그 작업의 내용들이 모두 기록되기 때문에

문제가 발생했을 때 원인이 되는 작업을 찾아내거나 그에 따른 대책을 세우기 쉬워집니다.

브랜치 종류

통합 브랜치 (Integration Branch)

배포될 소스 코드가 기록되는 브랜치. Github Repository를 생성하게 되면 기본적으로 main 브랜치가 생깁니다. 

해당 프로젝트의 모든 기능이 정상적으로 작동하는 상태의 소스코드가 담겨 있습니다.

피처 브랜치 (Feature Branch)

기능 추가, 버그 수정과 같이 단위 작업을 위한 브랜치입니다.

통합 브랜치로부터 만들어내며, 피처 브랜치에서 하나의 작업이 완료가 되면 다시 통합 브랜치에 병합하는 방식으로 진행됩니다.

'CodeStates > Section 3 (백엔드)' 카테고리의 다른 글

Cloud Computing  (0) 2022.04.27
브랜치 명령어 모음  (0) 2022.04.27
웹 서비스에서의 캐시(Cache)  (0) 2022.04.22
가비지 컬렉션  (0) 2022.04.22
프로세스, 스레드(Thread), 멀티 스레드  (0) 2022.04.22
Comments