티스토리 뷰

코드잇

[Git] branch merge에 대해서

itsmekyum 2024. 11. 1. 17:08

 

Git

Git은 여러 사람들이 협업을 하기 쉽도록 만든 분산 버전 관리 시스템입니다.

 

Branch

- 브랜치란 협업 시, 하나의 프로젝트를 여러 갈래로 나누어서 관리할 수 있는 기능입니다. 각각 독립된 브랜치에서 작업한 후 원래 버전과 비교할 수 있습니다. 

- 브랜치를 나누지 않고 작업을 할 경우, 여러 사람들이 commit을 할때 충돌이 발생 할 수 있기에 꼭 브랜치를 나눠서 작업하는 것이 문제를 발생하지 않는 방법입니다. 

 

Merge

- 각각의 브랜치에서 작업해 나뉘어져있는 작업들을 합치는 기능입니다. 

- 브랜치를 합치는 방법은 4가지 정도 있습니다. 

 

1. 3-way Merge

 각 브랜치에 커밋이 있는 경우, git merge 명령어를 사용하면 두 브랜치의 코드를 합쳐서 새로운 커밋으로 만들어주는 방식입니다.

merge의 가장 기본적 동작방식입니다.

 

2. Fast-Forward Merge

  새로운 브랜치에만 commit이 있고 기준이 되는 브랜치에는 신규 commit이 없는 경우 머지하는 방식입니다.

딱히 기존 브랜치와 합칠게 없어서 신규 브랜치가 메인 브랜치가 되는 것입니다. 

3. Rebase and Merge

rebase를 하고 나서 merge를 하는 방식입니다. 

rebase는 브랜치의 시작점을 다른 commit으로 옮겨주는 행위입니다. 이를 이용해 신규 브랜치의 시작점을 메인 브랜치의 최신 commit이 되도록 옮기고 fast-forward merge를 하는 것입니다. 

이렇게 머지를 하면 commit 내역이 한줄로 남게 되어 깔끔한 내역을 유지할 수 있습니다. 하지만, 브랜치가 많은 경우 rebase를 할때 conflic가 다수 발생할 수 있는 단점이 있습니다. 

'코드잇' 카테고리의 다른 글

[자바스크립트] this에 관하여  (0) 2024.11.22
[자바스크립트] var,let,const 차이점  (1) 2024.11.19
[Git] Git-Flow 브랜치 전략  (1) 2024.11.01
시멘틱 태그의 장점  (0) 2024.10.24
CSS란?  (0) 2024.10.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함