[Git] 브랜치(Branch) 관리하기

miyeon·2023년 3월 22일
0

Git

목록 보기
4/6
post-thumbnail

브랜치

  • 브랜치는 버전을 여러개의 흐름으로 관리하는 방법이다.
  • 브랜치는 버전의 분기
  • 독립적으로 어떤 작업을 진행하기 위한 개념이고, 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다.

브랜치로 버전의 분기를 관리하는 방법 - 3단계

  1. 브랜치를 나눈다 (예 : 쇼핑몰-장바구니/주문목록)
  2. 각자의 브랜치에서 작업한다.
  3. (필요하다면) 나눈 브랜치를 합친다. (같은 부분을 다르게 수정한 부분만 고친다. 충돌이 생길 수 있음)

1) 브랜치 이름

  • master 브랜치 : 가장 기본적인, 최초의 브랜치. (git hub는 기본 브랜치를 main 브랜치라고 지칭한다.)
  • 브랜치 이름 : 브랜치 전략을 따름 (회사, 조직마다 다름. 예: feature, hotfix, bugfix 등등)
  • git branch <브랜치 이름> : 브랜치 나누기
  • git branch : 브랜치 목록, HEAD 위치

2) 특정 브랜치에서 작업하기 : HEAD, checkout

(1) HEAD

  • 현재 작업 중인 브랜치의 최신 커밋을 가리킨다.

(2) checkout

  • HEAD 이동
  • git checkout <브랜치이름>
  • git checkout -b <브랜치이름> : 브랜치 생성과 동시에 체크아웃
  • git checkout -d <브랜치이름> : 브랜치 삭제. 삭제하고자 하는 브랜치에서 체크아웃해있지 않은 상태여야함

3) 브랜치를 병합한다 - merge

기준이 될 브랜치로 checkout 명령어를 사용하여 이동 후, git merge 병합할 브랜치 명령어 사용하여 병합.
fast-foward merge : 빨리 감기 병합 👉 일반적인 병합, 새로운 커밋이 생기지 않고 HEAD가 병합할 브랜치로 이동한다. (병합 할 브랜치가 더 앞서나가고 있다고 해서 fast-foward라고 한다.)


충돌 해결하기

다양한 상황에서 충돌이 발생한다. 충분한 연습이 되어있지 않다면 실무에서 당황해서 해결하지 못할 수 있다.
1) 어떤 브랜치의 내용을 반영할 지 직접 결정한다.
2) 다시 커밋한다.

rebase

  • rebase = base + re
  • git rebase master : master의 최신 커밋으로 베이스를 옮긴다.
  • git rebase =i HEAD~숫자 : 커밋 고치기 (숫자 : 현재(HEAD)부터 고칠 과거의 커밋 개수)
profile
내가 보려고 기록하는 블로그

0개의 댓글