[Git] merge와 rebase 충돌 해결하기

2024. 2. 1. 22:35· BackEnd/Git & GitHub
목차
  1. ▶충돌이 왜 발생해?
  2. ▶merge 충돌 해결하기
  3. ▷당장 충돌 해결이 어렵다면?
  4. ▶rebase 충돌 해결하기
  5. ▷당장 충돌 해결이 어렵다면?
  6. ▶충돌 해결이 다 끝났으면?
728x90

▶충돌이 왜 발생해?


충돌이 발생하는 이유는 각각 branch에서 수정한 위치가 같아서 git이 둘중에 뭘로 받아들여야 할 지 몰라서 발생한다. 예를들어서

이렇게 main 브랜치에서 Tottenham의 라이벌팀 Arsenal뒤에 .을 붙여주고 커밋해주고

 

 

 

충돌1 브랜치로 switch하여 느낌표를 붙여주고 커밋 후

 

 

 

merge를 해주면

 

 

 

이런식으로 충돌이 일어나게된다. 컴퓨터가 뭘 받아들여야 할지 헷갈림.

 

 

 

 

▶merge 충돌 해결하기


이러한 충돌을 해결하는건 간단하다. 바로 컴퓨터한테 뭘 어떻게 할지를 알려주고 저장하면 된다.

위에 사진을 보면 4가지 선택지가 나타난다. 그 중 한가지를 골라 저장 후 커밋해주면 해결된다.

 

하나를 고르고 커밋해주면...

이렇게 main|MERGING 에서 main으로 다시 돌아오게 된다. 

 

 

이렇게 하면 merge상황에서 충돌 해결이다!

 

 

 

▷당장 충돌 해결이 어렵다면?


만약 당장 충돌 해결이 어려운 상황이라면 아래의 명령어를 입력해주면 된다.

git merge --abort

그러면 main 브랜치로 다시 이동하고 충돌해결이 가능할 때 다시 merge해서 충돌 해결 해주면 됨.

 

 

 

 

▶rebase 충돌 해결하기


rebase도 비슷한데 다른점이 있다.

이렇게 같은 줄을 수정해주고 rebase를 해보면

 

 

또 이렇게 충돌이 일어난다.

 

 

 

하지만 merge때 처럼 저장 후 커밋을 해줘도 충돌2 브랜치로 넘어가지를 않는다.

 

 

 

이것이 merge와 rebase의 다른점인데

rebase에서 충돌을 해결할 때는 충돌이 일어난 파일을 조정 후 add를 해주고

 

 

git rebase --continue

위 명령어를 입력해주면 충돌이 해결 되고 충돌2 브랜치로 넘어오게 된다.

 

그리고 전에 배운것처럼 

main 브랜치로 switch해주고 "git merge 충돌2" 명령어를 입력해주면 된다.

 

 

 

▷당장 충돌 해결이 어렵다면?


merge와 마찬가지로 만약 당장 충돌 해결이 어려운 상황이라면 아래의 명령어를 입력해주면 된다.

git merge --abort

 

 

 

▶충돌 해결이 다 끝났으면?


마지막으로 아래 명령어를 통해 병합을 완료한 브랜치들은 모두 삭제해주면 된다.

git branch -d (branch이름)

그러면 이렇게 깔끔하게 충돌 해결 후 병합이 완료된다!

728x90
저작자표시

'BackEnd > Git & GitHub' 카테고리의 다른 글

[GitHub]GitHub 원격 저장소 사용하기  (0) 2024.02.20
[GitHub] 깃허브 시작하기(personal access token 만들기, 토큰 컴퓨터에 저장하기)  (0) 2024.02.02
[Git] branch만들어보기 (Git branch, Git switch, merge, rebase)  (1) 2024.01.28
[Git]변경사항 확인 후 커밋하기, 작업 되돌리기  (1) 2024.01.27
[Git] 깃 저장소 만들기, 버전 만들기  (0) 2024.01.26
  1. ▶충돌이 왜 발생해?
  2. ▶merge 충돌 해결하기
  3. ▷당장 충돌 해결이 어렵다면?
  4. ▶rebase 충돌 해결하기
  5. ▷당장 충돌 해결이 어렵다면?
  6. ▶충돌 해결이 다 끝났으면?
'BackEnd/Git & GitHub' 카테고리의 다른 글
  • [GitHub]GitHub 원격 저장소 사용하기
  • [GitHub] 깃허브 시작하기(personal access token 만들기, 토큰 컴퓨터에 저장하기)
  • [Git] branch만들어보기 (Git branch, Git switch, merge, rebase)
  • [Git]변경사항 확인 후 커밋하기, 작업 되돌리기
LearningStudy
LearningStudy
LearningStudy
끊임없는 탐구
LearningStudy
전체
오늘
어제
  • 분류 전체보기 (83)
    • 오류 해결 (2)
    • BackEnd (35)
      • Spring Boot🍃 (16)
      • 개념 정리 (2)
      • Git & GitHub (13)
      • 쿼리 튜닝 (4)
    • 회고록 (0)
    • AWS (0)
    • 일기📝 (7)
      • Letter To Me💌 (5)
      • 멋쟁이사자처럼 12기 (2)
    • 학과 공부 (39)
      • Java (4)
      • C & C++ (7)
      • Python (6)
      • 이산수학 (13)
      • 자료구조 (5)
      • 데이터베이스 (4)

블로그 메뉴

  • 블로그 주인 GitHub
  • 개인 블로그

인기 글

공지사항

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
LearningStudy
[Git] merge와 rebase 충돌 해결하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.