카테고리 없음

깃허브 / 깃허브 데스크탑 충돌 - Conflict 해결법

근본넘치는개발자 2024. 9. 11. 17:00

 

오늘은 깃허브를 사용하면서 발생하는 충돌 문제를 처리하는 방법에 대해 다뤄보겠습니다.

먼저 충돌 상황을 보여드리기 위해 일부러 충돌 환경을 만들었습니다.

 

test라는 Repository를 만들고,

"깃 충돌".txt 파일을 만들어 넣어주었습니다.

 

내용은 다음과 같이 작성했습니다.

 

로컬 환경은 다음과 같습니다.

여기서 깃허브의 "깃 충돌".txt 내용과

로컬의 "깃 충돌".txt 내용을 각각 바꿔보도록 하겠습니다.  

 

 

 

이 상태에서 커밋을 할 경우 Push와 pull 할 내용이 1개씩 있다는 표시가 뜹니다.

 

누르고 나면  충돌이 발생하고 아래와 같은 창이 뜹니다.

이렇게 인위적으로 충돌 상황을 만들었습니다.

 

 

당황하지 마시고 Visual Studio code 열기를 눌러 충돌을 확인하면 됩니다.

다행히 충돌이 발생한 지점과 무엇이 문제였는지 알려줍니다.

 

Head라고 적힌 초록색 부분이

Commit하고 Push 한 내용

(현재 로컬에 저장되어 있는 내용)

 

파란색 창에 수신 변경 사항이라고 적힌 부분이 

깃허브 Repository에서 Pull  내용입니다

(원격 저장소에 저장되어 있는 내용).

 

둘의 내용 차이로 인해 발생한 문제임을 확인 할 수 있었습니다.

 

어떻게 해결할 수 있을까? 

생각 외로 간단합니다.

충돌 지점 위에 회색으로 조그마한 글씨가 있는 걸 확인하실 수 있습니다.

이를 눌러 코드를 수정하면 됩니다.  

 

현재 변경 사항 수락 : 로컬에 저장된 내용을 반영한다.

수신 변경 사항 수락 : 원격 저장소에 저장되어 있던 내용을 반영한다.

두 변경 사항 모두 수락 : 두 내용을 합쳐서 추가한다.

 

 

저는 현재 변경 사항을 누르고 저장하도록 하겠습니다.

 

처리를 완료했다면 

다음과 같이 변하게 되고, Continue merge를 하면 정상적으로 동작합니다. 


 

 

 

현재 변경 사항을 눌렀기 때문에 로컬에 있던

'로컬 환경 내용' 그대로 Push 할 수 있었고,

원격 저장소에 저장이 되었습니다.

 

이렇게 오늘은 깃허브 충돌 문제 해결 방법에 대해 다뤘습니다.

직접 겪어보고 나니 생각보다 별거 아니어서 정리 할 겸 작성해 봤습니다.

 

이제 상황에서 알맞게 선택해서 오류를 해결 하시면 됩니다! 

 

저는 작업하다 충돌 나서 처리한답시고 두 변경 사항 모두 수락 누르고,

그대로 Push해서 결국 브랜치 생성부터 다시 하는 대참사를 겪었지만 ,

여러분은 그러지 마시길.... 

 

혹시라도 충돌이 발생했다고 바로 날리지 마시고

차근차근 따라 해보시면 금방 이해하고, 해결하실 수 있을 겁니다. 

 

참고 했던 내용

https://night-knight.tistory.com/entry/%EA%B9%83%ED%97%88%EB%B8%8C-%EB%8D%B0%EC%8A%A4%ED%81%AC%ED%83%91-%EB%82%B4%EA%B0%80-%EC%B6%A9%EB%8F%8C-%EB%A7%8C%EB%93%A4%EA%B3%A0-%EC%B2%98%EB%A6%AC%ED%95%B4%EB%B3%B4%EA%B8%B0-%F0%9F%9A%805%EB%B6%84%EC%BB%B7-Vscode

 

깃허브 데스크탑 내가 충돌 만들고 처리해보기 🚀5분컷

🏃 0. Start!! 일단클론 깃 허브 데스크탑 3분 컷👶🏻 (클론, 커밋, 푸쉬) 🏃 0. Start! GitHub: Let’s build from hereGitHub is where over 100 million developers shape the future of software, together. Contribute to the open source c

night-knight.tistory.com