main branch에 다른 branch의 결과물이 합쳐지며 새로운 commit이 생성되는 것을 말합니다.
merge는 만들었던 branch의 기록들이 나눠서 계속 유지됩니다.
브랜치의 사용 내역을 남겨둘 필요가 있는 경우
협업을 할 때 사용될 수 있습니다.
main브랜치로 통합되는 결과를 만듭니다.
rebase는 만들었던 branch의 기록들이 없어지고 main이 된 branch에 합쳐진 commit 기록만 남게됩니다.
history를 깔끔하게 관리하고 싶을 경우 rebase를 사용합니다.
협업을 할 때는 사용하지 않습니다.
merge할 때는 main이 될 줄기의 branch에서 진행합니다.
(병합으로 합쳐질 branch에서는 진행하지 않습니다)
git merge "브랜치 이름"
브랜치와 브랜치를 병합합니다.
merge reset하기
merge도 하나의 커밋이기 때문에 merge하기 전 해당 브랜치의 마지막 시점으로 리셋할 수 도 있습니다.
git branch -d "브랜치 이름"
rebase를 진행할 때는 이미 나뉘어 있는 branch에서 rebase를 진행합니다.
git rebase "main이 될 branch"
merge 하려고 했던 브랜치와는 반대임을 기억합시다.
git merge "나눠져 있는 브랜치"
rebase로 가지를 main브랜치의 끝부분으로 이동시켜 주었습니다.
merge로 main에 있는 코드와 rebase branch의 코드를 합쳐줍니다.
git branch -d "지울 브랜치"
rebase와 merge가 완료 되었기 때문에 branch를 지워줍니다.