깃에서 branch는 정말 중요한 개념중 하나이다.
▷ branch - 하나의 코드 관리 흐름으로 나뭇가지라는 뜻을 가지고있는데
나무는 뿌리에서부터 끝으로 가서는 여러 개의 나뭇가지로 갈라지는 것이 Git과 유사하다는 점이다.
맨 처음에 한 커밋을 root commit 이라고 했었는데 git은 루트 커밋을 시작으로 가지가 갈라지는 나무모양을 하고있다.
이 때 가지의 하나 하나를 branch라고 하는 것이다. 사실 여태까지 우리는 하나의 브랜치위에서 여러 작업들을 해왔었다.
이 것을 터미널에서 보자면..
'on branch main'
이건 말 그대로 지금 main 이라는 이름의 브랜치 위에 있다는 것이다.
main은 레포지토리를 만들고 커밋을 하면 자동으로 생기는 브랜치의 이름인데
일단 깃으로 프로젝트 버전 관리를 하면 최소한 하나의 코드 관리 흐름은 있어야한다.
즉 main은 기본으로 세팅되는 브랜치이다.
커밋 히스토리를 보자면..
이때까지 이렇게 커밋을 만들어 온 게 하나의 코드 관리 흐름인 것이다. = branch
branch를 만드는 방법은 간단하다. "premium" 이라는 이름으로 브랜치를 만들어보자
git branch
branch의 이름을 "premium" 이라고 지어보자
이렇게 하면 이때까지 작업한 내용들도 모두 premium 브랜치에도 속하게 된다.
브랜치를 만들고나면 만든 브랜치로 당연히 이동해야한다.
방금 만든 브랜치로 이동해보면
git checkout [branch name]
main 이였던 브랜치가 premium으로 변경 된 것을 볼 수있고
status를 실행해보면 "On branch main" 이였던 것이 premium 으로 바뀌었다.
앞으로 작업을 하게되면 premium branch에만 반영이 되는 것이다.
그리고 그 커밋들은 이제 main branch랑은 아무런 상관이 없게 된다.
대충 이러한 작업을 하는 이유가 무엇인지 감이 올것이다.
지금 이 디렉토리에서 하고있는 작업의 흐름이 두개로 분리된것이다.
예를들어 우리는 프로그램을 다운 받을때 보통 무료 버전을 다운 받을 때가 많을 것이다
하지만 무료 버전이 있다면 유료 버전이 있다는 뜻.
"이 두 개의 버전을 분리해 각각 따로 코딩하여 작업 하는게 일의 효율이 더 좋지 않을까?"
해서 사용하는 방법이 branch를 각각 무료 버전과 유료 버전 두 개로 나누어서 작업하는 것이다.
유료 버전은 premium branch에서, 무료 버전은 main branch에서 작업을 하는 것이므로
branch를 왔다 갔다 하는것만 있을 뿐, 서로 절대로 영향을 주지 않는다.
▷ 한번 간단한 작업을 통해 branch를 활용해보자
branch 전체 조회
▼ 현재 레포지토리에있는 모든 브랜치를 조회하려면 "git branch" 를 실행해주면 된다.
premium 옆에있는 * 기호는 현재 자신이 위치해있는 branch를 뜻한다.
branch 삭제
▼ test라는 브랜치를 하나 만들어 삭제해보는 연습도 해보자
git branch -d [branch name]
여기서 d는 delete의 줄임말로 삭제를 뜻한다.
branch 생성 후 바로 이동하기
▼ 브랜치를 만들고 checkout으로 한번 더 실행하여 만든 곳으로 이동하였는데
한 줄로 생성하고 이동하는 커맨드가있다.
git checkout -b test
여기서 b는 branch의 줄임말로 이렇게 한 줄로 편하게 작업 할 수있다.
'Git' 카테고리의 다른 글
(19) Git - branch [origin] (0) | 2024.09.07 |
---|---|
(18) Git - branch marge (0) | 2024.09.06 |
Git (12)~(16) 까지 커맨드 정리 (0) | 2024.09.06 |
(16) Git reset 3가지 옵션 및 실행 결과 보기 (0) | 2024.09.06 |
(15) Git - HEAD 의 의미 / git reset (0) | 2024.09.05 |