Information Security Study

240105 브랜치 병합 본문

네트워크 캠퍼스/Git, GitHub

240105 브랜치 병합

gayeon_ 2024. 1. 11. 16:20

소스트리에서 브랜치 병합하기

브랜치 병합이란 특정 브랜치의 변경내역을 다른 브랜치로 가져오는 것이다.

이 과정에서 두 브랜치의 코드가 하나로 합쳐진다.

 

 

먼저 브랜치 병합 직전 메모리 구조이다.

 

이제 브랜치를 병합한다.

기본적으로는 master보다는 feature;a에 먼저 머지를 하고

문제가 없다는것이 검증되면 master에도 마저 feature;a의 내역을 머지한다.

그 이유는 master 브랜치는 무조건 돌아가는 코드만 커밋해야 하기 때문이다.

eature;a브랜치를 체크아웃하고, master 브랜치를 우클릭해 병합버튼을 누른다.

 

이렇게 하면 feature;a에 마스터에 추가된 내용을 끌고온다.

 

 

 

이제 브랜치의 논리적 구조는 아래와 같이 변한다.

 

 

 

3번커밋까지는 어차피 기능이 같다는게 논리적으로 스냅샷에 기록되어있으므로

두 브랜치가 같은 내용이라는게 확실하기 때문에 4, 5, 6번 커밋 모두에 3번까지의 기능은 동등하게 들어가 있다.

 

4번커밋에서 추가한 a.txt 세팅 이외에도

5번커밋에서 추가한 2번기능 추가가 합쳐져야 하는 상황이다.

6번커밋에서 실제로 feature;a 쪽에 이를 병합해서 4번과 5번의 합집합을 만들었다.

feature;a 체크아웃 상태로 gittest.txt에 2번기능이 추가되었는지도 확인하면 된다.

 

아직 master 브랜치는 5번 커밋에 머물러 있기 때문에 a.txt에 대한 정보가 없다.

 

 

master 브랜치를 체크아웃하고 마저 feature;a와 병합한다.

이제 이렇게 해서 양쪽 브랜치가 모두 동등해지면 하나의 기능개발이 끝난다.

 

 

6번커밋에 master와 feature;a가 동시에 머무르게 된다.

'네트워크 캠퍼스 > Git, GitHub' 카테고리의 다른 글

240108 CLI에서 브랜치 병합, 충돌 문제 해결  (0) 2024.01.11
240104 브랜치  (1) 2024.01.11
240103 Git CLI  (0) 2024.01.11