잉?

[Git] 브랜치(Branch)란? 브랜치 만들기 + 브랜치 이름 짓기 본문

깃(GIT)

[Git] 브랜치(Branch)란? 브랜치 만들기 + 브랜치 이름 짓기

Jye_647 2023. 5. 17. 23:57

브랜치 ; Branch?

브랜치를 직역하면 나뭇가지라는 뜻을 가지고 있다.

나뭇가지처럼 여러 갈래로 공간을 만들 수 있다는 건데

즉, 버전의 분기이다.

 

그렇다면 왜 브랜치를 사용할까? 사용이유는??

같은 코드를 기반으로 A는 기능을 추가하기도 하고, B는 기능을 수정하기도 할 텐데

A의 버전과 B의 버전의 서로 다른 코드가 만들어진다. 

서로 다른 코드를 병합할 경우 같은 코드를 다르게 수정한 부분(충돌)이 뒤섞일 수 있다.

충돌이 날 경우 일일이 수작업으로 수정해줘야 하는 불상사가 생긴다.

 

솔직히 나도 브랜치를 적극 활용해보지는 못해서 자세한 제약 사항이 있는지 모르지만

여러 작업(수정, 기능 추가, 버전 이력 등)을 동시에 진행할 수 있다는 점.

독립적인 자신의 공간에서 독립적인 어떤 작업을 진행하기 위한 것이다.


브랜치 관리하는 방법

1. 브랜치를 나눈다. (= 독립된 자신의 환경을 만든다.)

2. 각자의 브랜치에서 작업한다.

3. 필요하다면 나눈 작업을 합친다.


각 브랜치에 이름이 있다.

최초의 브랜치 기본 main브랜치라고 하는 master는 

home 같은 존재이다. 깃을 생성했을 때 기본으로 만드는 브랜치.

최종적으로 병합하는 공간이라 생각하면 된다.

 

여기서 브랜치 이름을 자기 마음대로 지어도 되지만(foo, cup, flower...)

되도록이면 이런 식으로 지어라! 하는 암묵적인 룰이 있는 듯하다.

- master branch : 제품으로 출시될 수 있는 브랜치

- develop branch : 다음 출시 버전을 개발하는 브랜치

- supporting branches : 팀원들 간의 개발을 위해 자주 사용하는 브랜치

 

여기서 세 가지의 supporting branches로 나뉜다.

feature branch(기능을 개발하는 브랜치)  → feature/기능요약 형식 (예) feature/login
release branch(이번 출시 버전을 준비하는 브랜치)   → release-1.2
hotfix branch(출시 버전에서 발생한 버그를 수정하는 브랜치)  →  (예) hotfix-1.2.1
참고) https://junjunrecord.tistory.com/131 

깃에서 브랜치 만들기!

1. 깃 주소와 연결

$ git remote add origin 주소

2. 브랜치 이름 생성

$ git branch 브랜치이름

3. 브랜치가 잘 생성됐는지 확인

$ git branch
*master // *은 현재 브랜치

4. 현재 작업환경 변경

$ git checkout feature
checkout 대신 switch 명령어도 가능!

(main = master)에서 (feature)로 환경이 변했다.

5. 이제 여기서 자신의 작업물을 올리면 된다.

$ git add .
$ git commit -m "메시지"
$ git push

*브랜치 병합하기

$ git merge 브랜치

* 브랜치 삭제하기

$ git branch -d 브랜치
Comments