merge
git merge [합칠 브랜치의 이름]
- 두개의 브랜치의 내용이 합쳐진 또다른 커밋을 만듬
- merge 해도 브랜치는 사라지지 않음
- 브랜치의 기록이 필요할 때 사용
rebase
- 한개의 브랜치를 다른 브랜치의 앞으로 붙이는 명령어
git rebase [브랜치 이름](이 브랜치 앞으로 현재 브랜치가 붙음)
- 브랜치를 떼다가 붙이므로 그래프가 깔끔해짐
- 이후 붙은 것들을 합치는 과정(merge) 가 필요함
- 협업하는 경우 있던걸 떼다 붙이기 때문에 조심해서 써야함
merge 실습
- merge 해서 흡수하는쪽 브랜치로 이동 (main 브랜치)
git merge add-coach
입력하여 "add-coach" 브랜치와 merge 실행
- 로그 확인
- sourcetree에서 확인
- main 브랜치에 add-coach 브랜치의 내용이 전부 합쳐졌으므로 필요없어진 add-coach 브랜치를 삭제
git branch -d add-coach
rebase 실습
- rebase를 하기위해서는 merge와 반대로 떼어지는 브랜치로 이동해야 한다 (add-teams 브랜치로 이동)
git rebase main
을 입력해서 add-teams 브랜치를 떼어 main 브랜치에 붙인다.
- rebase가 완료된 모습
- main branch가 가장 앞에 있는 commit을 가리키고 있지 않으므로 merge를 통해 가리키도록 해줘야 한다
(fast-forward)
git merge new-teams
입력
- merge(fast-forward)확인
- sourcetree에서 main이 가장 최신의 commit을 가리키고 있는것을 확인한다.
- new-teams 내용이 main 에 모두 적용 되었으므로 필요없어진 new-teams 브랜치 삭제
- new-teams 브랜치가 사라진 것을 확인한다.