티스토리 뷰

Visual Studio 2015에서 작업 중 

작업 브랜치를 병합하는 도중에 2  uncommitted changes would be overwritten by merge  라는 에러가 발생했다.

실제로 VS 2015에서 발생하는 버그로 보인다.

아래 주소를 따라가 보면, 많은 사람들이 불편함을 겪고 있는 모양이다.

https://connect.microsoft.com/visualstudio/feedbackdetail/view/955248/git-merge-fails-claiming-uncommited-change-would-be-overwritten-by-merge-ssh-mergeconflict



원래 해당 메시지가 나오는 것은, 로컬에서 커밋하지 않은 내용이 존재 할 때 나오는 메시지로

https://stackoverflow.com/questions/36026857/1-uncommitted-change-would-be-overwritten-by-merge-in-visual-studio-2013

위 글을 참고 하여 Git 명령어, stash 사용으로 책갈피에 저장하라고 나와있다. 가능은 하다.


하지만 2015에서 해당 사항이 '버그'로써 메시지가 나오는 경우는 다음과 같다.


Master 브랜치에서 A와 B에 대한 커밋이 존재하고 Master 브랜치에서 새로운 브랜치 생성 후 C라는 브랜치에 나는 C라는 작업을 커밋했다.

Master 브랜치는 (A,B) 내용을 가지고 있다.

C브랜치는 (A,B,C 커밋 내용을 가지고있다.)

이 브랜치는 SubMaster 라고 이름을 두었다고 보고, A에 대한 커밋만 가지고있다.

SubMaster(A 커밋 내용을 가지고 있다.)


이 경우, C 브랜치에서 SubMaster 브랜치로 병합 시 B라는 커밋의 내용이 없으므로 에러가 뜬다.


근본적으로 해당 VS2015에서 버그를 피하려면, B내용을 작업했던 브랜치를 SubMaster브랜치에 먼저 병합 후, 다시 C브랜치를 병합해야지만


에러가 나지 않고 정상적으로 병합이 진행된다.


아마도 해당 경우의 수를 신경 쓰지 못하고 VS2015 Git기능의 개발이 진행 된 듯 하다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함