브랜치 (Branch)

최경락 (K_ROCK_)·2021년 11월 18일

브랜치 (Branch) 란?

  • 한국말로 하면 나뭇가지라는 뜻으로, Git 에서는 독립적인 작업을 위한 분기점이라고 볼 수 있다.
  • 하나의 저장소에서 여러 브랜치를 만들어 수정 할 경우, 각각의 브랜치는 같은 저장소를 공유하지만 서로를 간섭하지 않는다.
  • 만약 하나의 master 브랜치만을 가지고 작업을 한다면 어떤 부가적인 기능을 추가 할 때 오류가 발생하는 경우 본 서비스에 까지도 영향을 미치게된다.
  • 하지만 브랜치를 만들어 사용하게 되면, 원본의 코드(master 브랜치)는 그대로 유지한 채로, 원본과 동일한 코드를 사용하여 기능이 안정적으로 개발된 이후에 master 브랜치에 합치는 과정을 거쳐 기능를 추가 할 수 있다.

→ 게임으로 쉽게 생각하자면 하나의 게임에 여러 세이브 파일을 사용한다고 생각하면 된다.

브랜치의 생성과 삭제

  • 브랜치를 만들기 위해서는 git branch명령어를 사용한다.
git branch <브랜치 이름>
# 브랜치를 만든다.

git switch -c <브랜치 이름> # 권장
git checkout -b <브랜치 이름>
# 브랜치를 만들고, 해당 브랜치로 이동한다.
  • 브랜치를 삭제하기 위해서는 -d 플래그를 함께 사용한다.
git branch -d <브랜치 이름>
  • 생성된 브랜치를 확인하기 위해서는 git branch 를 이용하여 확인 할 수 있다.

브랜치 이동하기

  • 만들어진 브랜치 사이를 이동하기 위해서는 git switch 명령어를 사용한다.
git switch <브랜치 이름>

→ 원래는 checkout 이라는 명령어를 사용했지만, 서로 상관없는 기능이 동시에 작동하기 때문에 현재는 switch 로 분리되었다.

브랜치 합치기

  • git merge 를 명령어를 이용하여 브랜치들을 병합 할 수 있다.
git merge <병합 할 브랜치 이름>
#주체가 되는 브랜치로 이동하여, 병합하고자 하는 브랜치의 이름을 작성한다.
  • 충돌이 일어나는 경우 충돌에 대한 해결이 진행되어야 병합이 가능하다.

+

checkout 과 switch, restore

  • checkoutswitch 모두 브랜치 이동을 할 수 있지만, checkout 은 이전의 개념으로써, 최근에는 switch 를 사용하는 것이 권장된다.
  • checkout 은 원래 브랜치의 이동파일의 커밋 전 변경사항의 복구 두가지의 기능을 한번에 수행하는 명령어였다.
  • 이것이 각각 기능별로 나누어져 switchrestore 로 기능이 분리되었다.
  • 그러니 조금 더 직관적으로 명시되어 있는 switchrestore 를 사용하는 것이 좋겠다.

https://seosd.me/[Git]-checkout-대신-switch와-restore-사용하기
→ checkout 과 분리된 두 명령어에 대한 설명이 잘 정리되어 있다!

main? master?

  • 그냥 이름만 다른 것.
  • 요즘엔 main을 더 자주 쓴다고 한다.
    (Black lives Matter 운동 이후)

0개의 댓글