Branch merge

미어캣의 개발일지·2024년 1월 11일
0

📚Branch merge

📕Branch merge란?

Branch란?

제대로 동작하는 소스코드는 그대로 두고 새로운 기능을 추가하려고 할때 파일의 복사본을 만들어서 실행할 수 있게 해주는 것이 깃의 '브랜치(branch)'이다.

그러면 Merge란 무엇인가

브랜치를 만들어서 원하는 기능을 만들었고, 이상없이 작동한다면 이것을 원래의 브랜치로 다시 합쳐줘야 한다. 이것이 Merge이다




📕Branch merge의 종류

  1. merge commit
  2. Squash and merge
  3. Rebase and merge

📖 Merge

일반적인 많이 사용하는 merge 방법, 두 브랜치의 변경 사항을 모두 유지하면서 병합

  • 브랜치의 히스토리를 모두 유지하면서 변경 사항을 병합할 수 있다는 장점

  • 단점으로는 팀이 커지면 커질 수록 커밋 히스토리가 복잡해 질 수 있다.


📖 Squash and merge

브랜치에서의 모든 변경 사항을 하나의 커밋으로 압축하여 병합하는 방식

  • 커밋 히스토리를 간단하게 유지할 수 있단 장점

  • 단점으로는 작업의 상세한 이력을 잃게 되고 기존 작업 커밋의 아이디들이 하나로 합쳐지며 사라지고 새로운 커밋 아이디가 생성되어 문제가 발생할 수 있다.


📖 Rebase and merge

현재 브랜치를 target 브랜치에 재위치시킨 후 병합하는 방식

  • 깨끗하고 선형적인 커밋 히스토리를 만들어 준다는 장점

  • 관련된 커밋의 ID들이 모두 바뀌게 되어 혼란을 초래할 수 있다




📕 출처

코드잇
https://velog.io/@jeris/Git%EC%97%90%EC%84%9C-branch-merge-%EB%B0%A9%EB%B2%95%EB%93%A4%EA%B3%BC-%EA%B0%81-%EB%B0%A9%EB%B2%95%EC%9D%98-%ED%8A%B9%EC%A7%95
https://im-developer.tistory.com/182

profile
이게 왜 안되지? 이게 왜 되지?

0개의 댓글