본문 바로가기

정보/Github

[Git/SourceTree]깃 충돌했는데 Resolve Conflicts 활성화 안 될 때

안녕하세요!

오늘은 Git 충돌 시  Resolve Conflicts 활성화가 되지 않을 때 방법을 들고 왔습니다!

 

원래 깃 merge 시 충돌을 하게 되면 Resolve conflicts 가 활성화가 되어서 수정 창이 떠야 하는데

이번에는 수정 창이 뜨지 않더라고요 ㅠㅠ 방법을 찾지 못해서 엄청 애를 먹다가 겨우 수정했습니다!

 

오류 났을 때 가장 많이 도와준 uni_Mocha 너무 고마워...😶


1. git command로 해결 

우선 사진 상에서 활성화 되어있는 파란 글씨를 클릭하면 보이는command를 사용해서 해결하려 했습니다.

순서대로 바꾸어서 해주면 되는데, 저는 처음부터 오류가 떴어요

원격 깃허브 주소를 찾을 수 없다는 오류였는데, 몇 번이고 확인해 봐도 주소는 잘 설정되어 있었기 때문에 한참 고민하다가 다른 방법을 찾았습니다!

이건 제가 추측만 하고 있는 거지만, 해당 Git이 제 개인 Git이 아닌 organization 안의 private 으로 설정된 깃이라 그렇게 되지 않았을까 하는 것이 제 추측입니다

2. Source Tree로 해결

CMD로 시도가 계속 좌절되자 SouceTree를 사용하여 해결을 시도하였습니다.

organization에서 SourceTree를 사용하려면 먼저 아래와 같은 절차를 거쳐야 하는데요 

1. 본인 계정 설정의 Setting으로 접속

 

2. Applications -> Authorize OAuth Apps에서 권한을  설정해줍니다.

저희는 Source Tree를 사용할 예정이니, SourcetreeForWindows를 선택해줍니다.

 

3. 사용하고자 하는 organiztion을 찾아서 Grant를 해줍니다.

저는 오류를 해결하면서 이미 grant를 해줬기 때문에 이미 저렇게 하얀색으로 되어있습니다. 

 

기본 설정을 마치고 나면, 이제 sourcetree로 옮겨 작업을 한 번 시도해보겠습니다!

어플 상단의 NewTab을 클릭하여 clone, add, create중 자신의 프로젝트에 맞는 것으로 하나 만들어주세요

저는 이미 깃에 연결되어있는 프로젝트가 local에 존재하였기 때문에 Add로 해결할 수 있었습니다. 

 

원격 repository에 있는 branch를 모두 가져와서 확인해보니 제가 merge하려고 했던 브랜치가 올라온 것을 볼 수 있었습니다.

 

현재 작업 중인 브랜치가 main인지 확인한 후, 병합을 눌러 아래 창으로 접근해줍니다.

확인을 누르게 되면 충돌 내역을 확인할 수 있습니다. 

충돌이 발생된 파일은 파일 상태 메뉴에서 확인 후 수정이 가능합니다.

 

이 탭에서 문데 있는 부분을 확인하여 수정 후 다시 commit을 하여 오류를 해결할 수 있었습니다!

history를 확인해 보면 원하는 branch가 잘 merge 된 것을 확인할 수 있습니다!


보통 Resolve conflicts로 해결이 가능한데, 저는CMD도, Resolve conflicts도 해결이 되지 않아 어려운 길을 돌아 돌아 왔습니다 ㅠㅠ...

 

혹시 organization repository에서 작업 중이시고, 저와 같은 오류가 나시면 해당 방법을 참고해보시는 것도 좋을 것 같아요:)