프로그래밍/Git

생활코딩 Git 정리 - 비교, 병합 외부 도구 연결

가카리 2017. 2. 26. 21:16
반응형

18.  비교, 병합 외부 도구 연결


충돌이 났을 수정을 하는데 도와주는 소프트웨어를 diff 한다.


diff 프로그램은 다음 링크에 가보면 있다.


http://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools



이중 유료지만 강력한 툴인 Beyond compare 툴을 사용해본다(30 무료)


1. http://www.scootersoftware.com/ 방문해서 다운받아서 설치한다.







2. 설치가 끝난 소스 트리의 다음 경로로 간다. Tools -> Options(윈도우 기준)



3. Diff탭으로 다음과 같이 세팅을 한다.


4. 비교할 파일을 선택한 Actions -> External Diff 누른다.



5. 다음과 같이 프로그램이 뜨면서 차이점을 알려준다.




6. 그러면 충돌의 상황에서 외부도구를 사용해서 충돌을 해결하는 법을 알아보자.


먼저 실험4 브랜치를 만들자.



7. 실험4 브랜치에서 index.html파일에서 다음과 같이 충돌을 만들기 위해 파일을 수정한다.




8. 이번에는 master 브랜치에서 파일을 수정해보자.

먼저 master 브랜치로 이동


파일을 수정한다.


9. 다음과 같이 master 브랜치도 커밋을 완료했다.



10. 이제 병합을 해서 충돌을 만들기 위해 다음과 같은 버튼을 누르자

Merge 실험4 into current branch







11. 예상대로 충돌이 발생한 것을 있다.



12. 충돌이 발생한 파일에서 오른쪽 버튼을 누르고 Resolve Conflicts -> Launch External Merge Tool 누르면






13. 다음과 같이 Beyond compare 툴이 실행 된다.



14. 윗부분에 파일이 3개가 있는데 파일의 의미는 다음과 같다.


 BASE 파일은 공통의 소스이다.

 LOCAL 현재 수정한 브랜치 master 브랜치이다.


REMOTE 실험4에서 수정한 브랜치이다.



15. 3 파일중에 다음의 화살표를 누르면 그것이 최종 버전이 되는 것이다.


 


16. 직접 수정하고 싶으면 아래 파일에서 수정 저장을 하면 된다.



17. 저장 나오게 되면 다음과 같이 Mark resolved 자동으로 수행되게 된다.

그리고 index.html.orig 파일이 생성되는데 파일은 병합전에 백업 파일로써 필요없으면 지워도 된다.




18. 다음과 같이 병합이 정상적으로 것을 있다.



출처 : https://opentutorials.org/course/1492

 


반응형