IT knowledge

git merge (병합)에 대한 기초.

정글탐험 2021. 1. 24. 22:16
반응형

자신이 맡은 작업을 하다가 그 작업이 잘 끝나면 내가 작업한 내용을 develop 브랜치(내가 현재 진행한 이슈의 부모)에 merge(병합) 해야 하는 일이 생깁니다. 그래서 오늘은 기본적인 git merge와 conflict가 났을 경우의 merge에 대해서 알아보겠습니다.

 

 

1. devlelop 브랜치에서 뻗어 나온 issue3에서 작업을 마치고 다시 develop에 merge 하는 경우.

이때는 현재 issue3에 있는 HEAD를 develop으로 옮기고 그다음에 issue3을 develop에 merge 해주면 됩니다.

issue3을 develop에 merge하는 모습

2. 두 번째가 살짝 복잡하지만 우리가 알아야 내용인, develop에서 부터 내가 맡은 이유와 다른 사람이 맡은 이슈를 담당하는 브랜치가 devleop에 merge 되면서 conflict가 생길 때 해결하는 법

현재 존재하는 브랜치들

이렇게 issue5에서 README.md파일을 수정합니다. 그리고 이걸 issue3에서도 수정할 예정입니다. 그럼 conflict가 나겠죠...?

issue5 브랜치에서 README.md파일 수정

요번엔 issue3에서 README.md 파일을 수정합니다.

issue3에서 파일 수정하는 모습

develop브랜치에서 issue5를 병합합니다. 그리고 이어서 issue3도 병합하려고 시도해봅니다.

issue5를 병합

issue3을 뒤이어서 병합하려고 하면 conflict가 나면서 병합에 실패하는 모습을 볼 수 있습니다.

병합에 실패한 모습

README.md 파일에 가보면 어디서 conflict가 났는지 나오고 현재 develop이 가리키고 있는 HEAD가 가지고 있는 내용과 issue3 브랜치가 가지고 있는 내용이 보입니다. 이때 <<<<<<<, ===========, >>>>>>>>>>>> 이 구호로 구분이 되어있는데, conflict를 해결했다고 생각하면 이 세 개의 구분선을 지우고 저장합니다.

conflict가 난 파일을 살펴보는 모습

저는 이렇게 두 개의 내용을 합쳐서 conflict를 수정했습니다.

conflict를 수정한 모습

이렇게 하고 저장을 하고 나와서 git status를 해보면 conflict를 해결했다면 git add를 하라고 나옵니다.

conflict 해결 후

git add를 해주고 git commit을 하면 commit message를 적는 창이 뜹니다.

commit 메세지 작성 화면

이 화면에서 내용을 작성하고 저장하고 나갑니다.

commit message를 작성하는 모습

그럼 merge가 완료됩니다.

병합이 완료된 모습

이렇게 하여 git merge시에 conflict가 났을 때 해결하고 병합하는 방법까지 알아보았습니다.

틈 날 때마다 git에 대한 내용을 계속 추가해 나갈 예정입니다.

혹시 제가 설명한 내용에서 틀린 내용이 있거나 부족한 내용이 있다면 지적해 주시면 바로 수정하도록 하겠습니다.


공감 눌러주시면 안 그래도 행복한 하루가 더 행복한 하루가 됩니다!

구독하기 눌러주시면 제 글이 발행되면 더 빨리 보실 보실 수 있어요~!

그럼 오늘도 감사합니다!

By 정글탐험


[git]에 관련된 다른 포스트는 이런것들이 있습니다.

2021/01/23 - [IT knowledge] - git local repository와 remote repository 연결하기

 

git local repository와 remote repository 연결하기

안녕하세요, 많은 것을 배우고 도전하고 싶은 정글탐험입니다. git 로컬 리포지토리와 리모트 리포지토리를 연결하는 법을 알아보도록 하겠습니다. 왜 연결하나? git으로 소스 관리를 하려면 일

infinity-challenge.tistory.com

2021/01/21 - [IT knowledge] - git stage 수정 및 commit message 수정하기

 

git stage 수정 및 commit message 수정하기

git 사용하다가 마주치는 실수들. git을 사용하다 보면 가끔씩 너무 급하게 stage에 올려버리거나 commit을 했는데 commit의 내용을 변경하거나 commit message 변경을 하고 싶은 경우가 있죠? 이럴 때 손쉽

infinity-challenge.tistory.com

 

반응형