Git Branch
앞선 포스트에서도 나왔던 Git Branch는 무엇일까요?
개발을 하다 보면 협업을하기 위해 특정 코드를 기준으로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행이 필요한 경우가 많습니다. 이렇게 독립적으로 개발할 수 있게 제공해 주는 기능이 바로 branch입니다.
즉, branch는 안전하게 격리된 상태에서 무언가를 만들 수 있게 해주는 것이죠.
branch 관련 명령어
branch 조회하기
$ git branch
* main
저장소를 새로 만들면 main branch(default)가 기본 branch입니다. 다른 branch를 별도로 만들지 않은 상태에서 branch를 조회해 보면, main branch만 나오는 것을 확인 할 수 있습니다.
branch 생성하기
$ git branch <branch 명>
branch 명령어 뒤에 브랜치명을 입력하면 해당 브랜치명으로 브랜치를 생성할 수 있습니다.
$ git branch feature/test
$ git branch
feature/test
*main
다음과 같이 feature/test
branch가 생성된 것을 확인할 수 있습니다. (*
가 앞에 붙은 것이 현재 branch입니다.)
특정 commit에서 branch 생성하기
브랜치 생성을 특정 커밋에서도 가능합니다. 생성하고 싶은 커밋의 버전을 브랜치명 뒤에 입력해 주면, 해당 버전에서 브랜치가 생성됩니다.
$ git branch <브랜치명> [특정 버전]
$ git branch example 9da3066404c68a4e7f77a7ddb69beb4d2475e2dd
checkout branch 변경
위에서 브랜치 조회 시 앞에 *
표시된 브랜치가 현재 브랜치입니다. checkout
명령어로 현재 브랜치를 변경할 수 있습니다.
$ git checkout <branch 명>
위에서 생성한 feature/test 브랜치로 변경하는 예제입니다.
$ git checkout feature/test
*feature/test
main
checkout -b branch 생성과 동시에 변경하기
이 브랜치 생성과 체크아웃은 git을 사용하면서 커밋제외 가장 많이 사용하는 명령어로 볼 수도 있는데요. checkout -b
명령어를 통해 브랜치를 생성하면서 바로 해당 브랜치로 변경(체크아웃)까지 가능합니다.
$ git checkout -b <branch 명>
example1 브랜치가 바로 생성되면서 변경된 것을 확인할 수 있습니다.
$ git checkout -b example1
$ git branch
*example1
master
checkout -t remote에 있는 branch 생성과 동시에 변경하기
$ git checkout -t <remote branch 명>
-t
는 remote에 있는 branch를 가져와 로컬에 동일한 이름의 브랜치를 생성하면서 해당 branch로 checkout 하는 옵션입니다.
$ git checkout -b origin/develop
$ git branch
* develop
master
merge branch 병합
개발을 완료한 브랜치는 base 브랜치에 반영이 필요한데, 그때 사용하는 명령어가 merge
입니다.
$ git merge <branch 명>
현재 브랜치에 반영할 branch 명을 입력하면, 해당 브랜치의 코드가 적용됩니다.
아래 코드는 feature/test 브랜치를 develop 브랜치에 merge 하는 예제입니다.
$ git checkout develop
feature/test
* develop
main
$ git merge feature/test
'개발' 카테고리의 다른 글
JPA 연관관계 (2) | 2024.09.18 |
---|---|
JPA 영속성 관리 (3) | 2024.09.11 |
GIT (1) (0) | 2024.09.09 |
JedisExhaustedPoolException 이슈 (4) | 2024.09.08 |
Kafka 설정 값 (1) | 2024.09.08 |