[트래블슈팅][Git] Merge pull requst 버튼이 비활성화될 때 해결방법

박두팔이·2024년 1월 22일
0

깃허브

목록 보기
3/4

Merge pull requst 버튼이 비활성화될 때 해결방법


🚨 문제상황

백엔드 브런치에서 dev브런치로 옮겨 프로덕션 환경에서 테스트를 하려고한다.
그런데 pull requst를 하니 Merge가 안되는 상황이 발생했다.


✅ 문제발생 원인

merge가 안되는 이유는 몇 가지가 있는데 그 중 하나는

  • '충돌 범위가 너무 많아 시스템이 충돌 범위를 헤아리기 어렵기 때문일 수 있다'는 것이고,
  • 나같은 경우는 프론트, 백 코드 브런치를 나누어 작업하다보니 파일을 통합할 때, 파일을 찾을 수 없다는 것이 그 이유였다.
File does not exist on be-dev.

💡 문제해결 방법

문제를 해결하기 위해서는 GitHub DeskTop을 사용하거나, 터미널에서 명령어를 입력하여 해결하는 방법이 있다.

둘 중, 나는 직관적인 GitHub DeskTop을 사용했다.

대부분 노출된 자료는 GitHub Desktop에서 새로 레포지토리나, 브런치를 생성하는 방법이었는데 나는 이미 레포지토리가 있어서 연결만 하면 되었기 때문에 아래의 방법을 사용했다.

[GitHub DeskTop 상단] - [Repository] - [Repository Settings] - [Remote] - [git 주소입력] - [save]

이렇게 하면, 아래와 같이 브런치들을 선택할 수 있는 창이 나온다.

merge하고자 하는 브런치를 선택한 뒤, 문제되는 부분을 하나씩 해결하면 문제를 해결할 수 있다.

Resolve버튼을 클릭하면 아래의 옵션버튼이 활성화된다.

  • "Use the modified file from dev"

    • dev브랜치에 수정된 파일이 있으니 병합하겠냐는 의미이다.
    • 이 옵션을 선택하면 merge하고자 하는 브랜치에서 수정된 파일이 현재 브런치로 가져오게되고 충돌이 있다면, 충돌을 해결해야한다. 충돌이 없다면 자동으로 병합된다.
  • "Do not include this file on be-dev"

    • 기존에 작업중인 브런치(merge하려는 브런치 아님)에 해당 파일을 포함시키지 말라는 의미다.
    • 주로 팀이나 협업 작업에서 특정 브랜치에서만 사용되는 파일이나, 설정 등을 다른 브랜치에서 사용하지 않도록 하기 위해 사용된다.

    이로써, 백 + 프론트 코드가 잘 통합된 것을 확인할 수 있다.

profile
기억을 위한 기록 :>

0개의 댓글