1. 3-way merge tool 설정
- merge에 사용할 3-way merge tool 설정.
- TortoiseHG를 설치하면 같이 설치되는 KDiff3는 한글지원이 제대로 안되어서 DiffMerge로 설정.
DiffMerge
- 다운로드 받은 DiffMerge.exe 파일을 TortoiseHG가 설치된 폴더에 복사. (만약 인스톨 했다면 설치경로에 있는 DiffMerge.exe 를 복사하거나, 시스템 환경변수로 DiffMerge 설치경로를 지정해 주면 됨)
- TortoiseHG의 3-way Merge Tool을 DiffMerge로 설정.
- Context Menu에서 TortoiseHG > Repository Settings 선택 (만약 전체 설정으로 하고 싶으면 Global Settings 선택)
- 3-way Merge Tool 에서 DiffMerge 로 설정
2. push 시도
- commit 후 push 를 해야 반영이 됨로 push 를 시도해야 비로소 conflict 여부를 알 수 있음. 그 전에 미리 pull을 해서 merge를 해둘 수도 있음.
- 아래는 push 했을 때 conflict 에러가 났음.
3. pull
- conflict 가 났을 시 pull 을 해서 merge 시도 준비
- 하단에 보이는 'View pulled revisions' 메뉴를 통해 로그창을 띄움
4. log 확인 및 merge 준비
- log 창에서 diff 정보를 확인하고 merge 시작
- log 창에서 오른쪽 클릭을 해서 나오는 메뉴 중 merge with 선택. (3-way merge를 시도)
- 선택하면 merge할 리비전 간 파일의 정보가 나옴
- 우선 자동으로 Merge를 실행한 결과를 보여줌
- base가 N-1 리비전, local이 현재 작업한 파일, other가 직전에 커밋된 파일임.
- 충돌이 난 부분은 빨간색, 일치하는 부분은 초록색 등 색으로 구분해가며 Merge.
- 우측 상단의 두개의 아이콘은 모양 그대로, base의 내용을 적용시키거나 other의 내용을 적용시키는 아이콘.
- Merge를 하고 파일을 저장한 다음 DiffMerge 프로그램을 종료시키면 일단 Merge 완료
5. merge 완료
- merge 가 완료되었다면 다시 commit (직접 해도 되고 아래처럼 merge 창을 통해 해도 됨)
- commit 이 완료되면 다시 push 시도.
- push가 끝난 후 graph를 보면 아래처럼 conflict 가 나서 잠시 branch가 나왔다가 merge를 통해 다시 메인으로 병합되는 것을 확인할 수 있음.
'버전관리' 카테고리의 다른 글
Mercurial - 조엘 스폴스키의 HgInit.com (+한글번역&TortoiseHG 버전) (4) | 2011.05.26 |
---|---|
[SVN] Windows용 Command line client (0) | 2010.11.24 |
[Mercurial] TortoiseHG를 이용한 버전관리 (0) | 2010.10.06 |
[Mercurial] TortoiseHG 설치 (2) | 2010.10.06 |
[SVN] TortoiseSVN으로 로컬에서 버전관리하기 (2) | 2009.10.20 |