브랜치로 나누어 관리하기
브랜치(branch)는 영어로 나뭇가지를 의미한다.
→ 버전을 여러 흐름으로 나누어 관리하는 방법이다.
브랜치를 이용하여 작업하는 방법
- 브랜치를 나눈다.
- 각자의 브랜치에서 작업한다.
- (필요한 경우) 나눈 브랜치를 합친다.
브랜치를 나누고 합쳐보기
- 깃이 제공하는 가장 기본적인, 최초의 브랜치를 master 브랜치라고 한다.
- HEAD는 기본적으로 현재 작업 중인 브랜치의 최신 커밋을 가리키는 표시이다.
→ 브랜치를 나누고 합치는 과정에서 위치를 자유자재로 바꿀 수 있다.
- 체크아웃이란 특정 브랜치에서 작업할 수 있도록 작업 환경을 바꾸는 것을 의미한다.
※ 실무에서는 브랜치의 이름을 암묵적으로 정해두는 경우가 많다.
ex) '새로운 기능을 개발하기 위한 브랜치' → 'feature/<새 기능>'
'릴리스를 준비하기 위한 브랜치' → 'release/<릴리스 번호>'
브랜치 병합하기
- 병합하려는 브랜치로 체크아웃한다. ( foo 브랜치를 master 브랜치로 병합하려고 하면 master 브랜치로 )
- 병합시키려는 브랜치에서 우클릭 후 '현재 브랜치로 <브랜치 이름> 병합' 클릭
브랜치를 병합하고 더 이상 병합시킨 브랜치에서 작업하지 않을 예정이라면 삭제하는 것이 좋다.
충돌 해결하기
충돌이란 병합하려는 두 브랜치가 서로 같은 내용을 다르게 수정한 상황을 의미한다.
충돌이 발생하면 스테이지에 올라가지 않은 파일과 스테이지에 올라간 파일이 추가된다.
스테이지에 올라가지 않은 파일을 확인해보면
=====기호를 기준으로 <<<<<에 현재 체크아웃한 브랜치의 내용이 적혀 있고,
>>>>>에 병합하려는 브랜치의 내용이 적혀있다.
<<<<<<< HEAD
master #현재 브랜치 내용
=======
foo #병합하려는 브랜치 내용
>>>>>>> foo
이 파일 위에서 마우스 우클릭 후 충돌 해결을 클릭하면 '내것'을 이용해 해결과 '저장소'것을 사용하여 해결 항목이 있다.
'내것'은 현재 체크아웃된 브랜치를 의미하고 '저장소'는 병합하려는 브랜치의 내용을 의미한다.
충돌을 해결한 뒤 적혀있던 커밋 메세지와 함께 다시 커밋해야 브랜치가 올바르게 병합된다.
브랜치 재배치하기
브랜치의 재배치는 rebase라고 한다.
rebase는 브랜치가 뻗어나온 기준점을 변경하는 것이다.
재배치하려는 브랜치로 체크아웃하고, 재배치하려는 브랜치 커밋에 우클릭해서 재배치를 클릭한다.
'Git & Github' 카테고리의 다른 글
| 깃 & 깃허브 정리 3장 (0) | 2022.11.04 |
|---|