GIT

merge 와 rebase

Strickland 2024. 4. 28. 13:21

서로 다른 브랜치를 합치는 두 방식

merge: 두 브랜치를 한 커밋에 이어 붙인다.

  • 브랜치 사용내역을 남길 필요가 있을 때 적합한 방식이다.

 

rebase: 브랜치를 다른 브랜치에 이어 붙입니다.

  • 한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합다.

현재 브랜치 상황

 

1.  merge로 합치기

add-coach 브랜치를 main 브랜치로 merge 해보자 

  • main 브랜치로 이동 
  • 아래의 명령어로 병합
git merge add-coach

 

 

 

add-coach 가 main 브랜치와 병합되어서 새로운 커밋이 생겼다. 이제 add-coach 브랜치는 쓸모가 없다.

병합된 브랜치는 아래의 명령어로 삭제 해주자

git branch -d add-coach

 

add-coach 브랜치를 삭제한 상태에서 git reset 명령어로 main 브랜치를 Add Freddie to Panthers 로 역행시킨다면 

현재 add coach 브랜치는 없기때문에  빨간색의 모든 commit 들이 날라가 버림  조심하자 ! 

 

 

2. rebase 로 합치기

new-teams 브랜치를 main 브랜치로 rebase 

  • new-teams 브랜치로 이동 (merge 때와는 반대임)
  • 아래 명령어로 병합
git rebase main

실행결과

따로 갈라져 있는 new-teams 의 브랜치가 뿌리부터 뽑혀 main 브랜치의 끝에 연결되었다.

현재 main 브랜치가 뒤쳐져 있는 상황이다.

main  브랜치로 이동 후 아래 명령어로 new-tems 의 시점으로 fast-forward

git merge new-teams

main 브랜치에는 존재하지 않았던 두 파일이 생성되며 merge 가 정상적으로 진행 되고,

new-teams 의 작업이 main 브랜치에도 적용이 됐다.

 

현재 브랜치의 상황

 

new-teams 브랜치에서 진행했던 모든 작업이 main 브랜치에 반영되었음으로 

new-teams 브랜치는 삭제해 주도록 하자

git branch -d new-teams

 

 

결과 화면

'GIT' 카테고리의 다른 글

checkout  (0) 2024.04.29
충돌 해결  (1) 2024.04.28
reset 과 revert  (0) 2024.04.26
commit + diff  (0) 2024.04.25
.gitignore 형식  (0) 2024.04.25