Git 병합은 Git Branch 사용과 연관되어있다.
보기 쉽게 요약을 위에 적어둠
- Git 병합은 커밋 시퀀스를 하나의 통합된 커밋 기록으로 결합한다
- Git을 병합하는 두 가지 주요 방법은 빨리감기 병합과 3방향 병합이다
- 두 커밋 시퀀스에서 충돌하는 변경 사항이 없으면 Git은 커밋을 자동으로 병합할 수 있다
Git 병합은 Git의 포크된 기록을 다시 통합하는 방법임
git merge를 사용하면 git 브랜치(branch)가 만든 독립적인 개발 라인을 단일 브랜치로 통합할 수 있음
* 프로젝트를 진행할 때 각자 맡은 내용에 대해 구현을 진행중이거나 구현이 완료된 여러 파일들? 내지는 코드들을
하나의 폴더에 통합한다는 의미같음
병합을 반영하도록 현재 브랜치는 업데이트 되지만, 대상이 되는 브랜치는 전~혀 영향을 받지 않음
* 내가 올릴 파일은 아무런 변동이 없으나 프로젝트가 올라가는 곳은 업데이트가 된다는 소리같다
git merge 명령은 종종 git checkout 명령과 함께 사용되어 현재 브랜치를 선택하며
git branch -d 와 함께 사용되어 사용되지 않는 대상 브랜치를 삭제한다
* 어.. 써보면 알겠지
//
작동 방식
git merge는 여러 커밋 시퀀스를 하나의 통합된 기록으로 결합한다.
일반적으로 merge는 두 브랜치(branch)를 결합하는데 가장 자주 사용한다.
이하의 내용은 예제라고 하는데, 보기만 해선 뭔소린지 모르겠으니 일단 적고 본다.
예제에서는 브랜치 병합 패턴을 중점적으로 다룬다. 이 시나리오에서 git merge는 두개의 커밋 포인터?(브랜치 팁?)를 사용하며
두 포인터간에 일반적인 기준 커밋을 찾는다.
Git은 일반적인 기준 커밋을 찾으면 대기중인 각 병합 커밋 시퀀스의 변경 사항을 결합하는 새 '병합 커밋'을 만든다.
main 브랜치를 기준으로 하는 새로운 브랜치 기능이 있다고 가정하자.
이 기능 브랜치를 main에 병합하려고 한다!

이 명령(추정상 Git merge)을 호출하면 지정된 브랜치 기능이 현재 브랜치에 병합되는데, 이것을 main이라고 가정하겠다.
Git은 병합 알고리즘을 자동으로 결정한다.(아래에서 설명)

병합 커밋은 상위 커밋이 두 개 있다는 점에서 다른 커밋과 구별된다. (위의 그림 자체가 병합 커밋(merge commit)같다)
병합 커밋을 만들 때 Git은 사용자를 위해 별도의 기록을 자동으로 병합하려고 시도한다.
Git이 두 기록에서 변경된 데이터 조각을 발견하면 자동으로 결합할 수 없다.
이 시나리오는 버전 제어 충돌이며 Git이 이 작업을 계속하려면 사용자의 개입이 필요하다.
'Git' 카테고리의 다른 글
| Compare & Pull request가 안되는 경우 1 (0) | 2025.11.05 |
|---|---|
| Git clone : 원격 저장소에서 로컬 저장소로 불러오기 (0) | 2025.09.04 |
| Git main, develop, feature, release, hotfix (0) | 2025.06.08 |
| Git add와 commit (0) | 2025.06.08 |
| 리눅스에서 파일 및 디렉토리 관리를 위한 기본 명령어 (1) | 2025.06.08 |