Information Security Study
240105 브랜치 병합 본문
소스트리에서 브랜치 병합하기
브랜치 병합이란 특정 브랜치의 변경내역을 다른 브랜치로 가져오는 것이다.
이 과정에서 두 브랜치의 코드가 하나로 합쳐진다.
먼저 브랜치 병합 직전 메모리 구조이다.
이제 브랜치를 병합한다.
기본적으로는 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 |