본문 바로가기
Git

Git - 충돌 에러 This pull request can't be merged

by 새발개발JA 2021. 11. 18.
반응형

Git 으로 협업하면서 개인적으로 제일 난감했던 부분 중 하나는 바로 conflict 해결이였다.

상황에 따라 어디에서 튀어나올지 모르기 때문이었고, 혹시나 잘못만져서 모두의 코드가 망가질까봐 두려움이 앞섰다.

하지만 두려워할 필요는 없다. 비슷한 충돌을 10번 정도 겪어보면 어느순간 손가락이 자동으로 해결 명령어를 치고 있을 것이다.

 

충돌이 났다면 이유가 뭐든 한 가지만 기억하자. 나의 코드와 마스터 코드가 겹치기 때문이다.

1. 충돌이 난 코드를 찾아보자.

2. 문제가 있는 부분을 수정하자.

3. 수정후에는 저장(commit → push) 까지 해줄 것이다.

 

 


Git - 충돌 에러 This pull request can't be merged

 

 

빗버킷으로 pull request 를 한 뒤 merge 를 하려던 참이였다. 그런데 conflict(충돌)가 나며 아래와 같은 메시지가 나왔다.

⚠️ This pull request can’t be merged
You will need to resolve conflicts to be able to merge.

 

1. 충돌이 난 코드를 찾아보자.

아래 스크린 샷을 보면 충돌난 부분을 그대로 commit 하여 push 했기 때문에 에러가 나버렸다.

(친절하게도 안내메시지가 잘 알려준다.)

 

2. 문제가 있는 부분을 수정하자. 

다시 소스코드로 돌아가 문제가 있는 부분을 수정해주자. 간단히 코드를 지워주거나 고쳐주면 된다.

	{List.map(item => {
            <div className="list-area" key={item.id}>
                <Item item={item} />
                <Link to={`/item/detail/${item.id}`}> // 둘 중에 얘로 선택
                  <div className="btn">더보기</div>
                </Link>
            </div>
        })}

 

3. 수정후에는 저장(commit → push) 까지 해줄 것이다.

겹치는 두개의 코드 중 하나를 선택해서 그걸로 수정했으니 git 명령어를 통해여 업데이트만 해주자.

$ git add . 			// 수정한 파일 전부 스테이징 해주고 

$ git commit -m "Fix conflict"  // 커밋해주자

$ git push origin DAN-143 	// 변경된 코드를 원격저장소 브랜치(DAN-143)에 반영해주자

 

요러고 push 까지 진행되었으면 pull request 페이지를 새로고침 해보자.

수정된 내용이 자동 업데이트 되어 에러 메시지와 에러 코드가 사라질 것이다. ✌

 

 

 

 

 

반응형

댓글