깃을 사용해서 협업하면서 양쪽에서 commit을 진행해 충돌이 나는 경우가 있다

이번 팀프로젝트에서 팀원이 이런 일을 겪었고 소스트리에서의 해결방안을 정리해 봤다

 

문제 상황

문제 상황

 

브랜치 이미지

소스트리에서 보면 위와 같이 로컬의 main 브랜치와 원격의 origin/main 브랜치가 갈라진 걸 볼 수 있다

이 경우에는 갈라지는 부분의 커밋 (현재는 '[CTRL] CheckPw 서블릿 삭제' 커밋)으로 되돌려야 한다

이 과정에서 본인이 작업한 내용은 삭제되니, 작업한 파일을 깃 외부에 복사해 두자

 

해결 방안

 

되돌리고 싶은 커밋 위에서 우클릭을 하고 'main 를 이 커밋으로 초기화'를 선택한다

위와 같은 창이 뜨면 모드를 Hard로 선택한다

모드에 따라 되돌리는 방식이 달라지는데 Hard는 진짜 모든 걸 되돌린다는 뜻이다

(== 내 작업을 삭제하고 완전히 선택한 commit 시점으로 되돌림)

작업을 삭제하는 위험한 작업이기에 경고창이 한 번 뜬다

확인을 클릭

이렇게 하면 내 main 브랜치가 되돌린 commit 위치로 갔음을 확인할 수 있다

이 상태에서 pull 해주면 원격에 origin/main 브랜치와 같은 위치로 갈 수 있고

이제 아까 외부에 복사해 둔 파일을 보고 다시 작업을 하고 푸쉬를 하면 된다

+ Recent posts