2017.01.19 14:06

이번에는 충돌이 일어났을 때 어떻게 하면 될지 알아보겠습니다. 



master와 branch에서 한번에 두 파일을 모두 수정 후,




master와 branch에 각가 commit/push 합니다.


이제 branch를 master에 병합 시도합니다.


아래 그림처럼 충돌이 일어난 것을 확인할 수 있습니다.




텍스트 파일이니 외부 병합 툴을 이용해 문제를 해결해 보겠습니다.


상단 메뉴를 보면 A, B, C가 있습니다. 

A가 원래 없던 최초 버전, B와 C가 master와 branch에서 작성된 내용입니다.


두 텍스트 모두를 유지하려면 B와 C  버튼을 눌러주면 하단에 순서대로 정리가 됩니다.




출동이 있었던 텍스트 파일이 정리된 모습입니다.


마지막으로 push하면 아래와 같이 잘 병합된 모습을 볼 수 있습니다.



바이너리 파일일 경우, 내 저장소의 파일 혹은 받은 파일을 유지할지를 설정해야 합니다.


이상. 끝!!! ^^








저작자 표시 비영리 동일 조건 변경 허락
신고
2017.01.06 11:20

마지막으로 branch 관리하는 방법에 대해 알아겠습니다.


SVN은 branch 관리하는게 상당히 까다롭고 시간이 많이 걸리는 문제점이 있었는데, git은 상당히 가볍고 로컬 저장소와 원격 저장소가 분리되어 있어서 각자의 작업을 진행하며 다른 작업자의 작업을 방해하지 않으면서도 백업/롤백이 손쉽게 가능합니다.


첫번째로 branch를 만들어 보겠습니다. 이름은 "sampleBranch"로 해보겠습니다.



아래처럼 branch가 생성된 것을 확인할 수 있습니다.




이제 branch 에서 하나의 파일을 수정한 후, master로 병합해 보겠습니다. 



텍스트 파일을 열어 내용을 추가하고 commit를 합니다. 




그 후 아래 화면처럼 push를 해줍니다.



그럼 자신의 branch와 origin까지 업데이트 되었다는 표시를 볼 수 있습니다.




 위 화면의 좌측 브랜치 트리에서 master와 sampleBranch를 선택하면, 선택된 브랜치의 글씨가 볼드체로 바뀌며 현재 작업 폴더의 브랜치가 지정됩니다. 

 master를 선택 후 "second document.txt"파일을 열어보면 좀 전에 추가했던 텍스트가 보이지 않는 것을 확인할 수 있습니다. 


이제 master로 sampleBranch의 내용을병합해 보겠습니다. master를 선택 후, sampleBranch에서 메뉴를 열면 아래와 같은 메뉴 리스트가 나옵니다. "현재 브랜치(master)로 sampleBranch 병합"을 선택하면 sampleBranch의 내용이 master로 병합됩니다.



다시 "second document.txt" 파일을 열어보면 파일이 정상적으로 병합된 것을 확인할 수 있습니다.


다음 아티클에서는 충돌 시 어떻게 처리해야 할 지 살펴보겠습니다.

저작자 표시 비영리 동일 조건 변경 허락
신고


티스토리 툴바