1. Merging Branches
여러 branch를 하나로 합치는 기능 (보통 Master로 합침)
- 특정 commit이 아닌 branch를 병합
- 현재 head의 branch를 병합 -> 병합하고 싶은 branch로 이동해주어야 함
( >git switch master )
>git merge <branch-name>
branch-name의 branch를 현재 Head가 가리키는 branch에 병합
1) 병합할 branch의 commit이 없을 경우
2) 병합할 branch의 commit이 있을 경우
- 병합된 commit은 두 개의 부모 commit을 갖습니다.
※ 병합할 2개의 commit이 겹치는 내용이 없을 경우, 문제없이 병합이 됩니다.
하지만, 겹치는 내용이 있으면, 병합시 충돌이 발생합니다.
2. 병합 중 충돌 해결하기
1. 충돌이 발생하면, Git은 충돌이 된 파일을 알려줍니다.
2. 충돌이 발생한 파일을 열어 편집해줍니다.
3. 변경 사항을 commit합니다.
* VS Code를 이용하면 여러가지 옵션을 쉽게 사용하여 고칠 수 있습니다.
Accept Current Change: 현재 변경 사항을 수락하고 충돌을 해결합니다. 충돌이 발생한 현재 라인의 변경 사항을 그대로 유지합니다.
Accept Incoming Change: 다른 브랜치(일반적으로 병합 대상 브랜치)의 변경 사항을 수락하고 충돌을 해결합니다. Accept Incoming Change를 선택하면 충돌이 발생한 현재 라인을 선택한 브랜치의 변경 사항으로 대체합니다.
Accept Both Changes: 현재 변경 사항과 다른 브랜치의 변경 사항을 모두 수락하고 충돌을 해결합니다. 충돌이 발생한 현재 라인에 대해 두 변경 사항을 모두 유지합니다. 이 경우, Git은 변경 사항을 모두 포함하는 병합 커밋을 만듭니다.
Compare Changes: 변경 사항을 비교하고 수동으로 충돌을 해결할 수 있습니다. 변경 사항을 쉽게 비교할 수 있는 비교 도구가 열립니다.
'Study > GIT' 카테고리의 다른 글
[Git] 7. Git Stash (0) | 2023.12.04 |
---|---|
[Git] 6. Git Diff로 비교하기 (0) | 2023.12.03 |
[Git] 4. Git Branch (0) | 2023.11.27 |
[Git] 깃크라켄(GitKraken) GUI 환경에서 Git 사용하기 (0) | 2023.11.27 |
[Git] 3. Commit 추가 사항들 (0) | 2023.11.27 |
Tag