07. Branch 활용하기: merge

지구·2023년 7월 17일
0

Git, Github 정리

목록 보기
9/19

1. branch 병합하기 (git merge)

git merge: 서로 다른 branch의 작업 내용을 하나의 branch로 통합하기 위한 명령어

git merge [브랜치명]

합치길 원하는 브랜치로 이동 후에 합칠 브랜치를 입력한다.
예시) main 브랜치에 develop 브랜치를 합치고 싶다.

git merge develop

위 명령어를 입력하면 main에는 없고 develop에만 있던 수정 사항이 main에 통합진다.

그래프로 커밋 기록 확인하기

git log --graph --decorate --oneline

2. merge 시의 merge conflict 해결하기

위와 같이 merge한 상황에서 특정 파일에 대한 main의 수정사항과 develop의 수정 사항 기록이 다르다면 오류가 난다. 그것을 merge conflict 라고 한다.
따라서, merge conflict 는 다른 두 파일을 어떻게 합쳐야할지를 결정할 수 없을 때 발생한다.

해결 방법

  1. Accept Current Change: 현재 우리가 있는 main 브랜치의 내용을 따른다.
  2. Accept Incoming Change: 병합하는 develop 브랜치의 내용을 따른다.
  3. Accept Both Changes: 두 브랜치 내용 모두를 담는다.
  4. 직접 코드 수정하기

원하는 작업으로 수정 후에 커밋을 해주면 해결된다.

3. fast-forward 이해하기

fast-forward: merge했을 때, 새로운 커밋이 생기는 것이 아니라, 그냥 main 브랜치에 develop 브랜치의 commit 기록이 병합되는 것

만약 줄기가 나눠진 형태로 커밋 기록을 남기고 싶다면, 아래와 같이 --no-ff를 붙여서 merge 명령어를 입력하면 된다. (non fast forward의 약자)

git merge [develop] --no-ff

😭잘 이해가 안간다....

profile
프론트엔트 개발자입니다 🧑‍💻

2개의 댓글

comment-user-thumbnail
2023년 7월 17일

글 잘 봤습니다, 감사합니다.

1개의 답글