본문 바로가기
개발

GIT (2)

by just다해 2024. 9. 10.

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