[Git] Branch & merge

"Branch"는 "가지" 또는 "분기"라는 뜻으로, 코드의 다양한 버전을 관리하기 위한 별도의 작업 공간을 의미한다.
HootJem's avatar
Aug 27, 2024
[Git] Branch & merge
"Branch"는 "가지" 또는 "분기"라는 뜻으로, 코드의 다양한 버전을 관리하기 위한 별도의 작업 공간을 의미한다.

1. 연습 폴더 생성 및 Git 저장소로 초기화

notion image
 
notion image
디렉토리 뒤의 괄호 안이 현재의 브랜치입니다. 기본적으로 main 또는 master 브랜치로 시작하게 됩니다.
 

2. 회원가입 파일 생성 후 저장

notion image
$ git add . $ git commit -m "회원가입"
 

2.1 로그인 파일 생성 후 저장

git add . git commit -m "로그인"

3. 브랜치 생성

$ git branch topic $ git branch //* master // topic
git branch topic 토픽이란 이름으로 브랜치를 생성했습니다. 이후 git branch 명령어로 생성된 브랜치 목록을 확인할 수 있습니다.
 

3.1 브랜치 이동

$ git checkout 브랜치명
notion image
 

4. 아이디 중복체크 파일 생성 후 저장

$ git add . $ git commit -m "아이디 중복체크"
 

4.1 브랜치 별 파일 확인

notion image
topic 브랜치에서 생성한 아이디 중복체크는 topic 브랜치에서 확인이 가능합니다
 
$ git checkout master
master 브랜치로 이동 후 확인하면 보이지 않습니다.
notion image
 

4.2 브랜치 삭제

$ git branch -D topic
브랜치에서 생성한 것을 사용하지 않는다면 브랜치를 날려버리면 master 의 상태로 돌아갑니다.
 
 

5. 병합( merge )

topic 에서 작성한 내용을 master brach 에 병합합니다.
GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git merge topic Updating 7ee504a..29b3b04 Fast-forward ...5\264\353\224\224\354\244\221\353\263\265\354\262\264\355\201\254.txt" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\354\225\204\354\235\264\353\224\224\354\244\221\353\263\265\354\262\264\355\201\254.txt"
Fast-forward 병합은 두 브랜치 간에 새로운 커밋이 없을 때 적용되며, 단순히 브랜치 포인터만 앞으로 이동시키는 방식입니다. 이 경우 Fast-forward 가 이루어졌음을 알 수 있습니다.

정리

브랜치(Branch) 는 가지를 의미합니다
notion image
$ git branch 브랜치명 -- 브랜치 생성 $ git checkout 브랜치명 -- 브랜치 이동 $ git checkout -b 브랜치명 -- 브랜치 생성과 동시에 이동 $ git branch -- 브랜치 목록 확인 $ git branch -D topic -- 브랜치 삭제 $ $ git merge 병합할브랜치 -- 이때 master 에서 topic 을 머지 한 것 처럼 다른 브랜치 병합가능
 
그러나 이런 경우에는 포인터가 어디를 가르키는지 옮기는 것이라 분기가 생기지는 않았습니다.
다음 포스트에서는 충돌(Conflict)이 발생하는 상황에서의 병합과 해결 방법을 다루어 보겠습니다.
 
Share article

[HootJem] 개발 기록 블로그