Search

Branch

대분류
DevOps/Tool
소분류
Git / GitHub
유형
Git
최종 편집 일시
2024/10/27 15:36
생성 일시
2024/07/08 06:38
15 more properties

브랜치란?

원래 코드와 상관없이, 독립적으로 개발을 진행할 수 있게 도와주는 것
협업을 할 시 브랜치 전략을 사용하여 개발하는 것이 좋다.
브랜치의 역할
동시에 여러 작업을 진행할 때의 작업 흐름을 한눈에 파악하기 위한 것
작업 단위 역할을 하여 문제 발생 시 빠른 대처 및 대책 세우기를 하기 위한 것

브랜치 상태 확인

# 브랜치의 상태 확인 # 현재 브랜치가 어딘지 # 커밋을 해야 하는지 # 작업 상태 확인 git status
Bash
복사

브랜치 조회

# 기본 명령어 git branch git branch -a # or git branch -all # 로컬 및 원격 브랜치를 전부 확인하는 옵션
Bash
복사

브랜치 이동

원래는 checkout으로 모든 기능을 수행하였지만 문제가 야기될 수 있기에 switch가 전용 명령어로 생겨남.
# 모든 기능이 집약되어 있는 명령어 : checkout git checkout <브랜치 이름> # 이동 전용 명령어 (추천) : switch git switch <브랜치 이름> # -c : 브랜치 생성 및 이동 git switch -c <브랜치 이름> == git branch <브랜치 이름> git switch <브랜치 이름>
Bash
복사

브랜치 삭제

# 문제가 있는 브랜치(정상적인 머지 상태가 아니거나 # 충돌이 해결되지 않은 브랜치)라고 판단 될 경우 git에서 에러 발생 # 명령어는 실행되지 않는다. git branch -d <브랜치이름> # 무시 후 삭제. 에러가 존재하여도 명령어 수행 git branch -D <브랜치이름>
Bash
복사

브랜치 병합

3-way-merge
서로 다른 브랜치를 병합할 경우에 병합용 커밋이 따로 생성되는 것
fast-forward merge
한 브랜치에서만 작업을 하였을 때 충돌이 나지 않아 따로 병합 이력이 남지 않는 것
병합의 이력을 남기고 싶을 경우엔 병합 옵션을 추가
# 기존 병합 - 현재 위치 브랜치에 작성한 브랜치를 병합 git merge <브랜치 이름> # fast-forward merge 해제 git merge --no-ff <브랜치 이름> # 3-way-merge를 fast-forward merge로 강제 변경 git rebase # 원격 저장소에서는 사용X 권장 # 커밋을 한 줄로 만들어 강제 변경
Bash
복사