머지, 리베이스 - 모두 브랜치를 합치기 위한것
머지 - 커밋을 새로 생성해서 합친다.
리베이스 - 브랜치의 베이스를 재 설정하여 합친다.
Fast Foward Merge

로그인 개발을 마.닏습니.
a
msetr브 치에 합치고 feat/login
브랜치는 제거합시다.

마스터 브랜치가 로그인 기능을 구현 완료한 commit 까지 따라온다.
이때 머지 방식으로
master
브랜치에서 feat/login
브랜치 까지 따라가기만 하면 되기 때문에 즉, 두 브랜치의
베이스
(c1)가 같기 때문에Fast-foward 방식이 적용 되었다.
개발을 완료한 브랜치를 지우자


위 방식에는 단점이 있습니다.
Fast Foward 방식이 적용되어 브랜치 까지 지우고 나면 위 히스토리는 너무 깔끔해서 개발 과정이 드러나지 않니다. 따라서 머지 시에
--no-ff
옵션을 사용하여 명시적인 머지 커밋을 남겨주는 것도 좋은 방법입니다.같은 커밋 히스토리에서 개발을 마친 후
—no-ff
옵션을 사용해봅시다.


recursive
방식이 적용되고 선형적이지 않은 커밋 히스토리를 가지게 되었습니다.3Way- Merge (Recursive)

마찬가지로 로그인 개발을 하던중 버그가 발생해 개발자들이 빠르게 수정하여
master
branch 의 변경점이 생겨 버렸습니다.지금은 앞선 경우와 상황이 다릅니다. 머지하고자 하는
feat/login
브랜치를 타고타고 올라가도 현재 master
브랜치를 만날 수 없습니다.하지만 같은 방식으로 병합을 시도해 보겠습니다.


다행히 충돌 없이 병합이 완료 되었습니다.

브랜치를 제거 하여도 선형적이지 않은 커밋 히스토리가 남습니다.
Github 의 머지 방식
- Create merge commit


- Squash and merge


- Rebase and merge


리베이스


corine
브랜치를 복사하여 upstream/main
브랜치의 뒤에 연이어 붙인다.Rebase
는 현재 브랜치의 base
를 바꾸겠다는 것생성된 커밋들은 새롭게 복사되어
base
가 변경된다.체리 픽
- 다른 브랜치 커밋을 내 브랜치로 가져 오는것

방법 1

방법2
