D:\UbisamConfig\Settings\MergeHubSettings.json 에 저장된다.탭 순서가 작업 순서다. 폴더 비교로 다른 파일을 찾고 → 파일 비교로 들어가 고치고 → Git 에서 커밋한다. 켤 때 작업자 이름을 묻는 창이 뜬다(지난 이름이 채워져 있어 같은 사람이면 Enter 한 번). 이 이름이 머지 주석과 보고서에 들어간다.
+탭 순서가 작업 순서다. 폴더 비교로 다른 파일을 찾고 → 파일 비교로 들어가 고치고 → Git 에서 커밋한다. 켤 때 작업자 이름을 묻는 창이 뜬다(지난 이름이 채워져 있어 같은 사람이면 Enter 한 번). 이 이름이 머지 주석과 보고서에 들어간다. 이름을 저장하기 전에는 그 창이 닫히지도, 끌려 움직이지도 않는다.
| 자동 병합 | Alt+M | 저쪽만 고친 줄을 한 번에 가져온다. 충돌과 내가 고친 줄은 안 건드린다 |
| 이전 충돌 다음 충돌 | Alt+Shift+↑/↓ | 아직 안 정한 충돌만 딛는다 |
ACTIONS 위의 남은 충돌 N개(빨강)가 충돌 정리 끝(초록)이 되면 저장할 수 있다. 줄 번호는 다섯 자리(99,999줄)까지 보인다.
+ACTIONS 위의 남은 충돌 N개(빨강)가 충돌 정리 끝(초록)이 되면 저장할 수 있다. 줄 번호는 다섯 자리(99,999줄)까지 보인다. MERGED 칸 번호는 저장될 결과 파일의 줄 번호다 — 줄을 고르거나 머지 주석이 들어가 줄이 늘면 그만큼 다시 매겨져 상태바의 “총 N줄” · 아래 이동 칸 · 코드 검사의 “N행” 과 같은 번호가 된다. 줄을 고르면 로그에 “101행 Theirs(feature/theirs) 반영” 처럼 어느 쪽을 골랐는지 남는다(rebase · cherry-pick · revert 는 커밋 해시).
C# 파일은 사람마다 중괄호를 두는 자리가 달라, 코드는 같은데 diff 가 수십 줄씩 뜬다. 파일 비교 화면 오른쪽 비교 규칙(접혀 있으면 ▸ 저장 형식 · 비교 규칙 펴기)의 콤보에서 C# AURORA 또는 C# Allman 를 고르면, 지금 파일을 원본부터 다시 읽어 BASE · LOCAL · REMOTE 를 모두 그 스타일로 맞춘 뒤 비교한다. 두 칸 · 네 칸 · mergetool 모두 같다. 상태바에 C# AURORA 가 붙는다.
| 안쪽 탭 | 있는 것 |
|---|---|
| 브랜치 · 병합 | 체크아웃 Merge → 현재 브랜치로 브랜치 삭제 · 새 브랜치 생성 + 체크아웃(선택 커밋에서 분기) · 선택 브랜치 위로 rebase 계속 중단 |
| 충돌 | 충돌 파일 목록 · 3분할로 열기 Accept Mine Accept Theirs Accept Both 병합 커밋 |
| 충돌 | 충돌 파일 목록(종류 · 푼 개수) · 3분할로 열기 Accept Mine Accept Theirs Accept Both · 끝내기 단추는 작업에 따라 병합 커밋 · 계속 · 커밋 |
| 변경 · 커밋 | 스테이징 언스테이징 변경 취소 전체 스테이징 stash 저장 blame · stash 목록 적용 삭제 · 커밋 메시지 마지막 메시지 커밋 커밋 수정(amend, 푸시 전에만) |
| 이력 | 커밋 그래프 · 선택 커밋 → Revert Cherry-pick Reset · 여기부터(두 커밋 사이 비교) 해제 · 변경분 추출(바뀐 파일만 폴더로, 바이트 그대로) |
| 이력 | 커밋 그래프 · 모든 브랜치(다른 브랜치 커밋까지 보임) · 선택 커밋 → Revert Cherry-pick Reset · 여기부터(두 커밋 사이 비교) 해제 · 변경분 추출(바뀐 파일만 폴더로, 바이트 그대로) |
| Blame | 파일 경로 → 실행. 줄마다 커밋 · 날짜 · 작성자. 이력에서 커밋을 골라 두면 그 시점 기준 |
| 태그 · 서브모듈 | 태그 생성(메시지를 넣으면 annotated) 선택 태그 삭제 · 서브모듈 업데이트 (--init) |
6차는 D-1 까지 모두 끝났다. D-1 에서 새로 걸린 것(7차 재료)과 일부러 미뤄 둔 것.
+7차까지 모두 끝났고 8차는 A · B · C 를 끝냈다. 차수별로 무엇을 고쳤는지와, 아직 남은 것 · 일부러 미뤄 둔 것.
| # | 무엇 | 근거 |
|---|---|---|
| N1 | 3분할에서 줄을 고르면 로그가 “N행 (3-Way 안 씀) 반영” | 로그 11줄 모두. 머리의 3-Way 콤보 글자를 쓰는 것으로 보임 |
| N2 | 마지막 [Save] 뒤, 병합 중인데 두 칸(HEAD ↔ 워킹트리) “남은 차이 3줄” 로 떨어져 덜 푼 것처럼 보인다 | Weld/Unit1.cs 저장 직후 화면 |
| N3 | 병합 커밋 뒤에도 .git/MERGEHUB_CONFLICTS 가 남는다 | MERGE_HEAD 와 대조하므로 해는 없음 |
| 항목 | 무엇 | |
| A-1 · A-2 | 마지막 [Save] 뒤 “남은 차이” 대신 “충돌 정리 끝 · 병합 커밋을 할 수 있습니다” · 줄 고른 로그가 “Theirs(feature/theirs)” 로 (예전엔 “3-Way 안 씀”) | |
| B-1 | 병합이 끝나면 .git/MERGEHUB_CONFLICTS 를 치운다(터미널에서 끝낸 병합 포함) | |
| C-1 · C-2 | pull 도 [Merge] 와 같은 뒷일(주석 자동 풀기 · 알림 · 커밋 메시지) · rebase · cherry-pick 을 작업 이름과 작업별 끝내기 단추로, 이력 모든 브랜치 | |
| D-1 | 네 길(병합 · pull · rebase · cherry-pick)을 새 저장소에서 MergeHub 만으로 끝까지 — 줄끝 · BOM 바뀐 파일 0 | |
| E-1 ~ E-4 | [해결로 저장] → Save · 폴더 끌어다 놓기 차례 · 이름 창 잠금 · 셸 창 크기 조절(플랫폼) |
| 항목 | 무엇 |
|---|---|
| A-1 | 고른 파일에 다른 파일 내용이 저장되던 것 — 파일 비교 탭을 [3분할로 열기] 로 처음 열면 첫 충돌 파일이 보였고, 그 화면을 저장하면 고른 파일에 그 내용이 써졌다. 늦게 끝난 읽기를 버리고 다시 읽으며, 화면에 실린 파일과 저장할 파일이 다르면 아무것도 쓰지 않는다 |
| B-1 · B-2 | rebase · cherry-pick 도 마지막 저장 뒤 작업에 맞는 말을 한다 · 가져올 변경이 없는 cherry-pick 은 [커밋] 을 끄고 [작업 취소] 를 안내 |
| B-3 | MERGED 칸 줄 번호를 결과 파일 번호로(사용자 결정) — 상태바 · 이동 칸 · 저장된 파일과 같아졌다 |
| C-1 · C-2 | revert 충돌을 화면으로 끝까지 · cherry-pick 이 원래 작성자를 남기는 것을 git 과 견줘 확인 |
| C-3 | 셸 창에서 첫 Win+↓ 크기 · 덮는 창 가운데 맞춤(플랫폼, 배포함) |
// [이름] 날짜 로 남긴다. WinMerge 에는 이 규칙이 없어 손으로 적어야 하고, 다음 병합 때 주석끼리 충돌한다. 만든 저장소에서 git 충돌 26개 중 2개가 이런 충돌이었다.