DevOps BootCamp/Git

Git Branch 사용하기

cloudmaster 2023. 3. 21. 14:19

- 통합 브랜치

 : 배포될 소스 코드가 기록되는 브랜치.

 : Github Repository를 생성하게 되면 기본적으로 main 브랜치가 생김.(기존 Repository의 경우 master로 되어 있는 곳도 많음)

 : 프로젝트의 모든 기능이 정상적으로 작동하는 상태의 소스코드.

 

- 피쳐 브랜치

 : 기능 추가, 버그 수정과 같이 단위 작업을 위한 브랜치.

 

- 브랜치 명령어 모음

 : 새로운 브랜치 생성.

 $ git branch 새로운 브랜치 이름

 

 : 새로운 브랜치 생성 후 해당 브랜치로 전환.

 $ git checkout -b 새로운 브랜치 이름

 $ git switch -c 새로운 브랜치 이름

 

 : 브랜치 목록 확인.

 $ git branch

 

 : 브랜치 목록과 각 브랜치의 최근 커밋 확인.

 $ git branch -v

 

 : 브랜치 삭제.

 $ git branch -d 삭제할 브랜치 이름.

 $ git branch -D 병합하지 않은 브랜치를 강제 삭제하는 방법.

 

 :  브랜치 병합.

 $ git merge dev

 $ git checkout master

 

 : 로그에 모든 브랜치 그래프로 표현.

 $ git log --branches --graph --decorate

 

 : 아직 commit 하지 않은 작업을 스택에 임시로 저장

 $ git stash

 

★ fast-forward : 별도의 커밋을 생성하지 않고, HEAD 브랜치가 가리키는 커밋을 dev가 생성한 커밋으로 바꾸는 작업

  - 만약 HEAD 브랜치에 별도의 커밋이 있을 경우, merge commit 방식으로 병합. 이는 각 브랜치가 줄기처럼 분기한 후, 병합의 모양새를 가짐.

 

☆ merge와 rebase의 차이

merge

 변경 내용의 이력이 모두 그대로 남아 있기 때문에 이력이 복잡해 짐.

rebase

 말 그대로 branch base를 이동시킨다는 뜻으로, 머지처럼 브랜치 통합을 목적으로 하지만, 특정 시점으로 브랜치가 가리키는 곳을 변경하는 기능을 함.

 

  ※ 그림에서 보이는 것과 같이 feature/login 브랜치에서 git rebase main feature/login 명령어를 입력하면 main의 가장 최신 커밋으로 브랜치가 가리키는 곳이 변경됨. (main의 다른 커밋에서 충돌이 없을 경우)

'DevOps BootCamp > Git' 카테고리의 다른 글

Git  (0) 2023.03.20
개발자 도구 git 설치  (0) 2023.03.20