merge와 rebase

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. 정리하며

  • 지금까지 mergerebase에 대해 알아보았습니다.
  • 다음 시간엔 브랜치 간 충돌에 대해 알아보겠습니다.
 

브랜치 간 충돌

브랜치 간 충돌 1. 브랜치 간 충돌 파일의 같은 위치에 다른 내용이 입력된 상황에서는 어떻게 해야할까요? 한번 알아봅시다. #1. 일단 먼저, 다음과 같이 입력하여 conflict-1와 conflict-2 브랜치를 생

newbean-j.tistory.com

 

※ 이 글은 얄팍한 코딩사전 님의 유튜브 강의를 참고하였습니다.

'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