Git - 여러 branch 활용하기(2)

Chooooo·2022년 9월 24일
0

Git

목록 보기
5/15
post-thumbnail

인프런 - 제대로 파는 Git & Github - by 얄코


지난 강의까지 실습을 모두 진행했다면, git의 시점에서 지금 내 프로젝트는

이런 모습을 하고 있다. 프로젝트의 메인 줄기는 main브랜치에서 진행되고 나머지 두 곳에서 다른 실험적인 시도를 해 보고 있다. 이 두 브랜치(add-coach, new-teams)에서 진행한 내용들이 모두 채택이 돼서 이제 이들을 main 브랜치로 가져올꺼야

  • 두 가지 방식이 있는데, merge와 rebase.

서로 다른 브랜치를 합치는 두 방식

서로 다른 브랜치를 합치는 방식으로는 두 가지가 존재한다.

🧨 merge

두 브랜치를 한 커밋에 이어 붙인다.

  • 브랜치 사용 내역을 남길 필요가 있을 때 적합한 방식
  • 다른 형태의 merge에 대해서도 이후 다루게 될 것이다.

🧨 rebase

브랜치를 다른 브랜치에 이어 붙인다.

  • 한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합하다.
  • 이미 팀원과 공유된 커밋들에 대해서는 사용하지 않는 것이 좋다.

브랜치의 마디, 커밋들을 대상 브랜치로 옮겨붙이는 것!! 그러면 마치 메인(main)브랜치에다가 옮겨붙일 브랜치의 커밋들을 하나하나 추가한 것처럼 되는거야.


💨 둘의 차이

merge를 하는거나 rebase를 하는거나 결과물은 똑같다. 결국 모든 브랜치에서의 작업 결과물이 전부 main 브랜치에 모이는 거야.

차이가 있다면 우선 히스토리(내역)에 있다.

  • rebase를 한 뒤의 히스토리는 깔끔하게 한 줄로 정리되지만

  • merge는 브랜치의 흔적을 남기게 된다.

Merge vs Rebase

그럼 결국 둘 중 무엇을 사용하느냐?
진행하는 프로젝트의 성격에 따라 브랜치의 사용 내역들을 남겨둘 필요가 있다면 merge를, 그보다는 히스토리를 깔끔하게 만드는게 중요하다면 rebase가 더 적절할 것이다.

하지만 협업에 있어서 이미 팀원들간에 공유된 커밋들에 대해서 rebase를 사용하지 않는게 좋다.

있던 것을 없대다가 다른 브랜치에 이어 붙이면 협업하는 중에는 당황스러울 것..

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글