merge와 rebase
1. merge
- 브랜치를 병합하는 merge에 대해 알아봅시다!
- merge란? 서로 다른 브랜치의 변경 사항을 하나로 통합하는 과정을 의미합니다.
- 다양한 브랜치에서 개발한 내용을 메인 브랜치로 합치기 위해 merge를 사용합니다.
2. 사용방법
- 그럼 이제 merge를 사용해봅시다.
- git merge 브랜치명을 입력하면 됩니다.
- #1. main 브랜치 상태에서 합칠 대상의 브랜치를 골라 다음과 같이 입력해줍니다. (add-coach를 선택했습니다.)
git merge add-coach
→ 그러면 add-coach 브랜치에서 한 작업이 main 브랜치와 병합하게 됩니다.
→ 또한, SourceTree에서 보면 합쳐진 것을 확인할 수 있습니다.
※ merge도 하나의 커밋이기 때문에, reset으로 되돌리는 것또한 가능합니다.
- #2. 병합이 끝났으면, 다음과 같이 입력하여 브랜치를 삭제해줍니다.
git branch -d add-coach
3. rebase
- 이번엔 rebase에 대해 알아봅시다!
- rebase란? 브랜치의 기록을 깔끔하게 만들거나, 다른 브랜치의 변경 사항을 현재 브랜치에 통합하는 데 사용되는 명령어입니다.
- 주로 브랜치의 히스토리를 간결하게 유지하고, 병합 커밋을 줄이거나 순서를 변경할 때 유용합니다.
4. 사용방법
- 그럼 이제 rebase를 사용해봅시다.
- #1. 브랜치가 new-teams인 상태에서 다음과 같이 입력하여, main 브랜치와 병합해줍니다.
git rebase main
→ 그러면 다음과 같이 나오면서 main 브랜치에 new-teams 브랜치에서 한 작업이 병합하게 됩니다.
→ 또한, SourceTree에서 보면 알 수 있듯이 new-teams 브랜치에서 작업한 기록은 사라지게 됩니다.
→ 그 작업 기록이 main 브랜치의 최신 상태에서 붙게 되는 것입니다.
- 하지만, main 브랜치로 다시 넘어가보면 new-teams에서 한 작업은 보이지 않습니다.
- 보이기 위해선 main 브랜치가 최신 상태로 갱신시켜야 합니다.
- #2. main 브랜치로 넘어간 후, 다음과 같이 입력하여 new-teams의 시점으로 갑니다.
git merge new-teams
→ 그러면, new-teams에서 한 작업이 main으로 넘어가게 됩니다.
- #3. 병합이 완료되면, new-teams 브랜치를 삭제해줍니다.
5. 정리하며
- 지금까지 merge와 rebase에 대해 알아보았습니다.
- 다음 시간엔 브랜치 간 충돌에 대해 알아보겠습니다.
※ 이 글은 얄팍한 코딩사전 님의 유튜브 강의를 참고하였습니다.
'Back-End Study > Git & GitHub' 카테고리의 다른 글
SourceTree로 브랜치 다루기 (0) | 2024.02.06 |
---|---|
브랜치 간 충돌 (1) | 2024.02.06 |
브랜치(branch) (0) | 2024.02.05 |
reset과 revert (0) | 2024.02.02 |
add와 commit (0) | 2024.02.02 |