8차 D-1: 웹 문서를 7차 · 8차에 맞게
제품 코드 변경 없음. doc/web/index.html 이 6차에서 멈춰 있었다. - 매뉴얼: 창 크기 조절 · 이름 창 잠금 · 폴더 끌어다 놓기 차례 · 작업별 네 칸 제목과 머리 글 · MERGED 줄 번호(결과 파일 번호) · pull · rebase · cherry-pick · revert 가 같은 길 · 빈 cherry-pick 안내 - "알아 둘 한계": 7차 · 8차에서 사라진 네 줄을 빼고, 파일 단위 Accept 의 줄끝 · 스냅 한계를 넣음 - 남은 일: 7차에서 고친 것 · 8차에서 고친 것 두 표 + 8차에 남은 것(E-1) - 숫자: 하네스 22벌 1,073건 · 로컬 커밋 94 · 문서 기준일 2026-09-16 - 발행된 아티팩트도 같은 내용으로 갱신(버전 7) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
66652fda08
commit
82d4b277f3
@ -316,3 +316,31 @@ MergeHub 를 다시 빌드해 배포본으로 같은 값을 다시 쟀다(앱
|
|||||||
- 왼쪽 스냅 상태에서 Win+→ 는 스냅을 풀지 않고 그대로 있었다(잰 두 번 중 한 번은 복원됐다). Windows 쪽 동작이라 두고 본다.
|
- 왼쪽 스냅 상태에서 Win+→ 는 스냅을 풀지 않고 그대로 있었다(잰 두 번 중 한 번은 복원됐다). Windows 쪽 동작이라 두고 본다.
|
||||||
- 1px 테두리 선은 사용자 결정대로 그대로 둔다.
|
- 1px 테두리 선은 사용자 결정대로 그대로 둔다.
|
||||||
- **화면 잠금은 재지 않았다.** 잠그면 사람이 직접 풀어야 해서 확인이 멈춘다. 잠금 확인 창은 이름 창과 같은 길(`OwnerCentering`)을 쓰므로 함께 맞는다.
|
- **화면 잠금은 재지 않았다.** 잠그면 사람이 직접 풀어야 해서 확인이 멈춘다. 잠금 확인 창은 이름 창과 같은 길(`OwnerCentering`)을 쓰므로 함께 맞는다.
|
||||||
|
|
||||||
|
## D-1. 웹 문서를 7차 · 8차에 맞게 (2026-09-16, 완료)
|
||||||
|
|
||||||
|
`doc/web/index.html` 이 6차에서 멈춰 있었다. 7차 · 8차에서 바뀐 화면과 말을 맞추고, "알아 둘 한계" 를 지금 기준으로 다시 썼다.
|
||||||
|
|
||||||
|
### 고친 것
|
||||||
|
|
||||||
|
| 어디 | 무엇 |
|
||||||
|
|---|---|
|
||||||
|
| 개요(숫자) | 검사 하네스 **22벌 · 1,073건**(948건에서), 로컬 커밋 **94**(75에서), "7차 끝 · 8차 진행 · 네 길 줄끝 바뀐 파일 0". 출처를 `작업지시/8차.md` 로 |
|
||||||
|
| 매뉴얼 · 켜기 | 이름을 저장하기 전에는 그 창이 닫히지도 움직이지도 않는다(7차 E-3). **창 크기** 문단 추가 — 끌어 조절(최소 1280 × 720) · 두 번 누르기 · <kbd>Win</kbd>+<kbd>↑</kbd>/<kbd>↓</kbd> · 최대화는 작업 표시줄까지 덮음 · 크기 · 모니터 기억 · [화면 이동] 이 크기를 지킴(7차 E-4 · 8차 C-3) |
|
||||||
|
| 매뉴얼 · 폴더 비교 | 끌어다 놓기 **첫 칸 → 둘째 칸 차례**, 두 칸이 차면 바로 비교(7차 E-2) |
|
||||||
|
| 매뉴얼 · 네 칸 | 네 칸이 뜨는 경우를 작업별로 — rebase 는 LOCAL 이 올릴 자리 · REMOTE 가 다시 올리는 내 커밋, cherry-pick 은 가져오는 커밋, revert 는 되돌리는 커밋. 3-Way 콤보 자리의 머리 글. **MERGED 번호는 결과 파일 번호**(8차 B-3)와 줄 고른 로그 문구(7차 A-2) |
|
||||||
|
| 매뉴얼 · 병합 순서 | 마지막 [Save] 뒤 화면이 작업에 맞게 말한다(7차 A-1 · 8차 B-1). **pull · rebase · cherry-pick · revert 도 같은 길** 문단 — 다른 것은 끝내는 단추뿐. 가져올 변경이 없는 cherry-pick 안내(8차 B-2)와 이력 [모든 브랜치](7차 C-2) |
|
||||||
|
| 매뉴얼 · Git 탭 | 충돌 탭 끝내기 단추가 작업에 따라 병합 커밋 · 계속 · 커밋. 이력 탭에 [모든 브랜치] |
|
||||||
|
| 매뉴얼 · 알아 둘 한계 | 7차 · 8차에서 사라진 네 줄(주석 자동 풀기가 Merge 에만 · rebase · cherry-pick 미확인 · "3-Way 안 씀" 로그 · 마지막 저장 뒤 "남은 차이")을 빼고, 지금 남은 것으로 — 파일 단위 Accept 는 고른 쪽 줄끝을 그대로 가져온다 · 빠른 비교 · 코드 검사 · **스냅이 반쪽이 안 됨**(8차 C-3) · 로그인 · 권한 |
|
||||||
|
| 남은 일 | "7차 재료" 표를 **7차에서 고친 것** · **8차에서 고친 것** 두 표로. "6차에서 남긴 것" 을 **8차에 남은 것**(E-1 다섯 길 재확인 · 빈 커밋을 두지 않기로 한 결정)으로 |
|
||||||
|
| 지금까지 만든 것 | 09-15(7차) · 09-16(8차) 두 줄 추가, 기획 3단계 칸을 6차 → 7차 → 8차로 |
|
||||||
|
| 발표 자료 | 17장의 "7차: …" 줄을 "7차 · 8차: 다른 충돌 길 · 셸 창 크기 조절 — 끝" 으로 |
|
||||||
|
| 머리 | 문서 기준 날짜 2026-09-14 → **2026-09-16** |
|
||||||
|
|
||||||
|
### 확인한 것
|
||||||
|
|
||||||
|
- 화면 문구와 대조: "해결로 저장" · "3-Way 안 씀" · "948건" 같은 옛말이 문서에 하나도 없다(grep).
|
||||||
|
- 태그 짝 세기: section 26/26 · div 188/188 · table 26/26 · ul 35/35 · ol 11/11 · li 193/193 · tr 212/212 · td 520/520.
|
||||||
|
- 발행: 같은 주소의 아티팩트를 **버전 7** 로 갱신했다(읽어서 옛 내용을 확인한 뒤 올림). 저장소의 `doc/web/index.html` 과 같은 파일이다.
|
||||||
|
|
||||||
|
제품 코드는 바꾸지 않았다.
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
| 날짜 | 항목 | 커밋 |
|
| 날짜 | 항목 | 커밋 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|
| 2026-09-16 | **8차 D-1** — 웹 문서(doc/web/index.html)가 6차에서 멈춰 있었다. 7차 · 8차에서 바뀐 것을 매뉴얼에 넣고(창 크기 조절 · 이름 창 잠금 · 폴더 끌어다 놓기 차례 · 작업별 네 칸 제목과 끝내기 단추 · MERGED 줄 번호 · pull · rebase · cherry-pick · revert 가 같은 길), "알아 둘 한계" 를 지금 기준으로 다시 썼다(사라진 네 줄 빼고 스냅 한계 추가). 남은 일 표를 7차 · 8차로 갈아 끼우고 숫자 갱신(22벌 1,073건 · 커밋 94). 발행된 아티팩트도 버전 7 로 갱신. 제품 코드 변경 없음 | 아래 |
|
||||||
| 2026-09-16 | **8차 C-3** — 7차 E-4 에서 남긴 넷을 실제 픽셀로 쟀다. 기억 없이 처음 Win+↓ 로 내리면 1600×900 DIP 가 화면 아래로 16px 넘치고 작업 표시줄을 가렸고, 최대화 창에서 이름 창이 세로 36px 위에 떴다. 사용자 결정대로 첫 복원을 두 번 누르기 복원과 같게(작업 영역 80% · 가운데), 덮는 창을 본 창 실제 사각형 가운데로 고침(플랫폼 ShellWindow · 새 OwnerCentering). 스냅은 최소 크기(1280×720 DIP) 때문에 화면 반쪽이 될 수 없음을 적어 둠, 1px 테두리는 그대로. 플랫폼 수정 · 배포 | 아래 |
|
| 2026-09-16 | **8차 C-3** — 7차 E-4 에서 남긴 넷을 실제 픽셀로 쟀다. 기억 없이 처음 Win+↓ 로 내리면 1600×900 DIP 가 화면 아래로 16px 넘치고 작업 표시줄을 가렸고, 최대화 창에서 이름 창이 세로 36px 위에 떴다. 사용자 결정대로 첫 복원을 두 번 누르기 복원과 같게(작업 영역 80% · 가운데), 덮는 창을 본 창 실제 사각형 가운데로 고침(플랫폼 ShellWindow · 새 OwnerCentering). 스냅은 최소 크기(1280×720 DIP) 때문에 화면 반쪽이 될 수 없음을 적어 둠, 1px 테두리는 그대로. 플랫폼 수정 · 배포 | 아래 |
|
||||||
| 2026-09-16 | **8차 C-2** — 7차에서 코드로만 봤던 "cherry-pick 은 원래 작성자를 남긴다" 를 화면으로 확인(제품 코드 변경 없음). 생성기에서 상대 쪽 작업 만 작성자를 박지훈으로 두고, MergeHub 와 git 이 각각 cherry-pick · revert 를 하게 해 견줌 — cherry-pick 은 둘 다 작성자 박지훈 · 커밋한 사람 시험, revert 는 둘 다 시험. 이력 목록에도 박지훈으로 보인다 | 아래 |
|
| 2026-09-16 | **8차 C-2** — 7차에서 코드로만 봤던 "cherry-pick 은 원래 작성자를 남긴다" 를 화면으로 확인(제품 코드 변경 없음). 생성기에서 상대 쪽 작업 만 작성자를 박지훈으로 두고, MergeHub 와 git 이 각각 cherry-pick · revert 를 하게 해 견줌 — cherry-pick 은 둘 다 작성자 박지훈 · 커밋한 사람 시험, revert 는 둘 다 시험. 이력 목록에도 박지훈으로 보인다 | 아래 |
|
||||||
| 2026-09-16 | **8차 C-1** — 7차 C-2 에서 만든 길로 revert 도 되는지 화면으로 끝까지 봤다(제품 코드 변경 없음). 시험 저장소 생성기에 eature/revert(뒤이은 수정) 갈래를 더해 revert 충돌 16개를 만들고, [Revert] → 머리 "revert 진행 중" → 네 칸 REMOTE "되돌리는 커밋 …" → 로그 "101행 Theirs(커밋 …) 반영" → 진행 줄 "[커밋] 으로 revert 를 끝냅니다" → 원래 메시지로 커밋까지. 줄끝 · BOM 바뀐 파일 0 · 충돌 표식 0 · class 이름 검사 0 | 아래 |
|
| 2026-09-16 | **8차 C-1** — 7차 C-2 에서 만든 길로 revert 도 되는지 화면으로 끝까지 봤다(제품 코드 변경 없음). 시험 저장소 생성기에 eature/revert(뒤이은 수정) 갈래를 더해 revert 충돌 16개를 만들고, [Revert] → 머리 "revert 진행 중" → 네 칸 REMOTE "되돌리는 커밋 …" → 로그 "101행 Theirs(커밋 …) 반영" → 진행 줄 "[커밋] 으로 revert 를 끝냅니다" → 원래 메시지로 커밋까지. 줄끝 · BOM 바뀐 파일 0 · 충돌 표식 0 · class 이름 검사 0 | 아래 |
|
||||||
|
|||||||
@ -217,7 +217,7 @@ figcaption{font-size:.82rem;color:var(--ink-3);margin-top:6px}
|
|||||||
|
|
||||||
<header class="top">
|
<header class="top">
|
||||||
<div class="top-in">
|
<div class="top-in">
|
||||||
<a class="brand" href="#home"><b>MergeHub</b><span>사내 머지툴 문서 · 2026-09-14 기준</span></a>
|
<a class="brand" href="#home"><b>MergeHub</b><span>사내 머지툴 문서 · 2026-09-16 기준</span></a>
|
||||||
<nav class="nav" aria-label="문서">
|
<nav class="nav" aria-label="문서">
|
||||||
<a href="#home">개요</a>
|
<a href="#home">개요</a>
|
||||||
<a href="#manual">사용자 매뉴얼</a>
|
<a href="#manual">사용자 매뉴얼</a>
|
||||||
@ -240,7 +240,7 @@ figcaption{font-size:.82rem;color:var(--ink-3);margin-top:6px}
|
|||||||
<div class="eyebrow">UbiSam 사내 Git 머지 · 비교 도구</div>
|
<div class="eyebrow">UbiSam 사내 Git 머지 · 비교 도구</div>
|
||||||
<h1>MergeHub 문서</h1>
|
<h1>MergeHub 문서</h1>
|
||||||
<p class="lede">UbisamBase 셸 위에서 도는 플러그인(.NET Framework 4.8 · WPF)이다. 폴더 비교에서 다른 파일을 찾고, 파일 비교에서 줄을 골라 반영하고, Git 탭에서 병합과 커밋까지 끝낸다. 이 페이지는 매뉴얼 · 발표 · 진행 기록 · 기획안 · 시연 대본 · WinMerge 비교를 한곳에 모았다.</p>
|
<p class="lede">UbisamBase 셸 위에서 도는 플러그인(.NET Framework 4.8 · WPF)이다. 폴더 비교에서 다른 파일을 찾고, 파일 비교에서 줄을 골라 반영하고, Git 탭에서 병합과 커밋까지 끝낸다. 이 페이지는 매뉴얼 · 발표 · 진행 기록 · 기획안 · 시연 대본 · WinMerge 비교를 한곳에 모았다.</p>
|
||||||
<p class="small muted">숫자는 모두 <code>doc/진행상황.md</code> · <code>doc/history/*.md</code> · <code>doc/작업지시/6차.md</code> 에서 옮겼다. 시험은 실제 소스가 아니라 직접 만든 저장소로 했다(2026-09-11 결정).</p>
|
<p class="small muted">숫자는 모두 <code>doc/진행상황.md</code> · <code>doc/history/*.md</code> · <code>doc/작업지시/8차.md</code> 에서 옮겼다. 시험은 실제 소스가 아니라 직접 만든 저장소로 했다(2026-09-11 결정).</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="diffcard" aria-label="머지 주석이 들어간 줄 예시">
|
<div class="diffcard" aria-label="머지 주석이 들어간 줄 예시">
|
||||||
<div class="hd"><span>MERGED · WeldController.cs</span><span>남은 충돌 1</span></div>
|
<div class="hd"><span>MERGED · WeldController.cs</span><span>남은 충돌 1</span></div>
|
||||||
@ -256,17 +256,17 @@ figcaption{font-size:.82rem;color:var(--ink-3);margin-top:6px}
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="facts">
|
<div class="facts">
|
||||||
<div><b>22벌 · 948건</b><span>검사 하네스 전부 통과</span></div>
|
<div><b>22벌 · 1,073건</b><span>검사 하네스 전부 통과</span></div>
|
||||||
<div><b>15 / 15</b><span>6차 항목 완료 · D-1 줄끝 바뀐 파일 0/33</span></div>
|
<div><b>7차 끝 · 8차 진행</b><span>네 길(병합 · pull · rebase · cherry-pick) 줄끝 바뀐 파일 0</span></div>
|
||||||
<div><b>75</b><span>MergeHub 로컬 커밋 (푸시 0)</span></div>
|
<div><b>94</b><span>MergeHub 로컬 커밋 (푸시 0)</span></div>
|
||||||
<div><b>26 → 24</b><span>만든 저장소 병합 충돌 (주석만 다른 2건 자동 해결)</span></div>
|
<div><b>26 → 24</b><span>만든 저장소 병합 충돌 (주석만 다른 2건 자동 해결)</span></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="cards">
|
<div class="cards">
|
||||||
<a class="card" href="#manual"><b>사용자 매뉴얼</b><span>탭 네 개 사용법, 병합 충돌 푸는 순서, 단축키, 설정</span></a>
|
<a class="card" href="#manual"><b>사용자 매뉴얼</b><span>탭 네 개 사용법, 병합 충돌 푸는 순서, 단축키, 설정</span></a>
|
||||||
<a class="card" href="#slides"><b>발표 자료</b><span>18장. ←/→ 로 넘기고 전체 화면으로 띄운다</span></a>
|
<a class="card" href="#slides"><b>발표 자료</b><span>18장. ←/→ 로 넘기고 전체 화면으로 띄운다</span></a>
|
||||||
<a class="card" href="#roadmap"><b>남은 일</b><span>6차 마무리(D-1 결과), 7차 재료 세 가지, 미룬 것</span></a>
|
<a class="card" href="#roadmap"><b>남은 일</b><span>7차 · 8차에서 고친 것, 아직 남은 것, 미룬 것</span></a>
|
||||||
<a class="card" href="#status"><b>지금까지 만든 것</b><span>09-07 ~ 09-14 차수별 기록과 기능 목록</span></a>
|
<a class="card" href="#status"><b>지금까지 만든 것</b><span>09-07 ~ 09-16 차수별 기록과 기능 목록</span></a>
|
||||||
<a class="card" href="#plan"><b>기획안 v2</b><span>09-03 기획안(v1.1)의 틀에 실제로 만든 것과 바뀐 것을 채움</span></a>
|
<a class="card" href="#plan"><b>기획안 v2</b><span>09-03 기획안(v1.1)의 틀에 실제로 만든 것과 바뀐 것을 채움</span></a>
|
||||||
<a class="card" href="#demo"><b>시연 대본</b><span>demo 폴더 구성과 10분 시연 순서</span></a>
|
<a class="card" href="#demo"><b>시연 대본</b><span>demo 폴더 구성과 10분 시연 순서</span></a>
|
||||||
<a class="card" href="#winmerge"><b>WinMerge 와 차이</b><span>기능 표, MergeHub 가 필요한 이유, WinMerge 가 나은 점</span></a>
|
<a class="card" href="#winmerge"><b>WinMerge 와 차이</b><span>기능 표, MergeHub 가 필요한 이유, WinMerge 가 나은 점</span></a>
|
||||||
@ -310,7 +310,7 @@ figcaption{font-size:.82rem;color:var(--ink-3);margin-top:6px}
|
|||||||
<tr><td><b>Git</b></td><td>저장소 열기, 브랜치 · 병합, 충돌 목록, 스테이징 · 커밋, 이력, Blame, 태그 · 서브모듈.</td></tr>
|
<tr><td><b>Git</b></td><td>저장소 열기, 브랜치 · 병합, 충돌 목록, 스테이징 · 커밋, 이력, Blame, 태그 · 서브모듈.</td></tr>
|
||||||
<tr><td><b>설정</b></td><td>셸의 설정 탭 안 <b>MergeHub</b> 항목. <code>D:\UbisamConfig\Settings\MergeHubSettings.json</code> 에 저장된다.</td></tr>
|
<tr><td><b>설정</b></td><td>셸의 설정 탭 안 <b>MergeHub</b> 항목. <code>D:\UbisamConfig\Settings\MergeHubSettings.json</code> 에 저장된다.</td></tr>
|
||||||
</table></div>
|
</table></div>
|
||||||
<p>탭 순서가 작업 순서다. 폴더 비교로 다른 파일을 찾고 → 파일 비교로 들어가 고치고 → Git 에서 커밋한다. 켤 때 작업자 이름을 묻는 창이 뜬다(지난 이름이 채워져 있어 같은 사람이면 <kbd>Enter</kbd> 한 번). 이 이름이 머지 주석과 보고서에 들어간다.</p>
|
<p>탭 순서가 작업 순서다. 폴더 비교로 다른 파일을 찾고 → 파일 비교로 들어가 고치고 → Git 에서 커밋한다. 켤 때 작업자 이름을 묻는 창이 뜬다(지난 이름이 채워져 있어 같은 사람이면 <kbd>Enter</kbd> 한 번). 이 이름이 머지 주석과 보고서에 들어간다. <b>이름을 저장하기 전에는</b> 그 창이 닫히지도, 끌려 움직이지도 않는다.</p>
|
||||||
|
|
||||||
<h2 id="m-open">파일 · 폴더 여는 법</h2>
|
<h2 id="m-open">파일 · 폴더 여는 법</h2>
|
||||||
<div class="tbl"><table>
|
<div class="tbl"><table>
|
||||||
@ -388,7 +388,7 @@ UbisamBase.Shell.exe <span class="k">--merge --base</span> B.cs <span class="k">
|
|||||||
<h2 id="m-four">네 칸 병합</h2>
|
<h2 id="m-four">네 칸 병합</h2>
|
||||||
<p>위에 원본 세 칸 <b>LOCAL(Mine)</b> · <b>BASE</b>(공통 조상) · <b>REMOTE(Theirs)</b>, 아래에 고치는 칸 <b>MERGED</b> 가 뜬다. MERGED 는 내 파일에서 출발한다. 네 칸이 뜨는 경우는 셋이다.</p>
|
<p>위에 원본 세 칸 <b>LOCAL(Mine)</b> · <b>BASE</b>(공통 조상) · <b>REMOTE(Theirs)</b>, 아래에 고치는 칸 <b>MERGED</b> 가 뜬다. MERGED 는 내 파일에서 출발한다. 네 칸이 뜨는 경우는 셋이다.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>병합 중에 충돌 파일을 열 때 (자동으로 네 칸, REMOTE 제목에 상대 브랜치 이름)</li>
|
<li>충돌 파일을 열 때 (자동으로 네 칸). 제목이 <b>작업에 맞게</b> 바뀐다 — 병합은 REMOTE 에 상대 브랜치, rebase 는 LOCAL 이 <b>올릴 자리</b> · REMOTE 가 <b>다시 올리는 내 커밋</b>, cherry-pick 은 <b>가져오는 커밋</b>, revert 는 <b>되돌리는 커밋</b>. 3-Way 콤보 자리에는 “rebase 충돌 · LOCAL = 올릴 자리 … · REMOTE = …” 처럼 지금 무엇을 푸는지 적힌다</li>
|
||||||
<li>파일 비교 위 줄의 3-Way 콤보에서 브랜치를 고를 때 (그 브랜치를 REMOTE 로, merge base 를 BASE 로)</li>
|
<li>파일 비교 위 줄의 3-Way 콤보에서 브랜치를 고를 때 (그 브랜치를 REMOTE 로, merge base 를 BASE 로)</li>
|
||||||
<li><code>git mergetool</code> · <code>--merge</code> 명령줄로 켤 때</li>
|
<li><code>git mergetool</code> · <code>--merge</code> 명령줄로 켤 때</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -400,7 +400,7 @@ UbisamBase.Shell.exe <span class="k">--merge --base</span> B.cs <span class="k">
|
|||||||
<tr><td><span class="btn-label">자동 병합</span></td><td><kbd>Alt</kbd>+<kbd>M</kbd></td><td>저쪽만 고친 줄을 한 번에 가져온다. 충돌과 내가 고친 줄은 안 건드린다</td></tr>
|
<tr><td><span class="btn-label">자동 병합</span></td><td><kbd>Alt</kbd>+<kbd>M</kbd></td><td>저쪽만 고친 줄을 한 번에 가져온다. 충돌과 내가 고친 줄은 안 건드린다</td></tr>
|
||||||
<tr><td><span class="btn-label">이전 충돌</span> <span class="btn-label">다음 충돌</span></td><td><kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>↑</kbd>/<kbd>↓</kbd></td><td>아직 안 정한 충돌만 딛는다</td></tr>
|
<tr><td><span class="btn-label">이전 충돌</span> <span class="btn-label">다음 충돌</span></td><td><kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>↑</kbd>/<kbd>↓</kbd></td><td>아직 안 정한 충돌만 딛는다</td></tr>
|
||||||
</table></div>
|
</table></div>
|
||||||
<p>ACTIONS 위의 <b>남은 충돌 N개</b>(빨강)가 <b>충돌 정리 끝</b>(초록)이 되면 저장할 수 있다. 줄 번호는 다섯 자리(99,999줄)까지 보인다.</p>
|
<p>ACTIONS 위의 <b>남은 충돌 N개</b>(빨강)가 <b>충돌 정리 끝</b>(초록)이 되면 저장할 수 있다. 줄 번호는 다섯 자리(99,999줄)까지 보인다. MERGED 칸 번호는 <b>저장될 결과 파일의 줄 번호</b>다 — 줄을 고르거나 머지 주석이 들어가 줄이 늘면 그만큼 다시 매겨져 상태바의 “총 N줄” · 아래 <b>이동</b> 칸 · 코드 검사의 “N행” 과 같은 번호가 된다. 줄을 고르면 로그에 “101행 Theirs(feature/theirs) 반영” 처럼 <b>어느 쪽을 골랐는지</b> 남는다(rebase · cherry-pick · revert 는 커밋 해시).</p>
|
||||||
|
|
||||||
<h2 id="m-style">C# 코드 스타일 맞춤</h2>
|
<h2 id="m-style">C# 코드 스타일 맞춤</h2>
|
||||||
<p>C# 파일은 사람마다 중괄호를 두는 자리가 달라, 코드는 같은데 diff 가 수십 줄씩 뜬다. 파일 비교 화면 오른쪽 <b>비교 규칙</b>(접혀 있으면 <span class="btn-label">▸ 저장 형식 · 비교 규칙 펴기</span>)의 콤보에서 <span class="btn-label">C# AURORA</span> 또는 <span class="btn-label">C# Allman</span> 를 고르면, 지금 파일을 원본부터 다시 읽어 <b>BASE · LOCAL · REMOTE 를 모두 그 스타일로 맞춘 뒤</b> 비교한다. 두 칸 · 네 칸 · mergetool 모두 같다. 상태바에 <code>C# AURORA</code> 가 붙는다.</p>
|
<p>C# 파일은 사람마다 중괄호를 두는 자리가 달라, 코드는 같은데 diff 가 수십 줄씩 뜬다. 파일 비교 화면 오른쪽 <b>비교 규칙</b>(접혀 있으면 <span class="btn-label">▸ 저장 형식 · 비교 규칙 펴기</span>)의 콤보에서 <span class="btn-label">C# AURORA</span> 또는 <span class="btn-label">C# Allman</span> 를 고르면, 지금 파일을 원본부터 다시 읽어 <b>BASE · LOCAL · REMOTE 를 모두 그 스타일로 맞춘 뒤</b> 비교한다. 두 칸 · 네 칸 · mergetool 모두 같다. 상태바에 <code>C# AURORA</code> 가 붙는다.</p>
|
||||||
@ -456,9 +456,9 @@ UbisamBase.Shell.exe <span class="k">--merge --base</span> B.cs <span class="k">
|
|||||||
<div class="tbl"><table>
|
<div class="tbl"><table>
|
||||||
<tr><th>안쪽 탭</th><th>있는 것</th></tr>
|
<tr><th>안쪽 탭</th><th>있는 것</th></tr>
|
||||||
<tr><td>브랜치 · 병합</td><td><span class="btn-label">체크아웃</span> <span class="btn-label">Merge → 현재 브랜치로</span> <span class="btn-label">브랜치 삭제</span> · 새 브랜치 <span class="btn-label">생성 + 체크아웃</span>(선택 커밋에서 분기) · <span class="btn-label">선택 브랜치 위로 rebase</span> <span class="btn-label">계속</span> <span class="btn-label">중단</span></td></tr>
|
<tr><td>브랜치 · 병합</td><td><span class="btn-label">체크아웃</span> <span class="btn-label">Merge → 현재 브랜치로</span> <span class="btn-label">브랜치 삭제</span> · 새 브랜치 <span class="btn-label">생성 + 체크아웃</span>(선택 커밋에서 분기) · <span class="btn-label">선택 브랜치 위로 rebase</span> <span class="btn-label">계속</span> <span class="btn-label">중단</span></td></tr>
|
||||||
<tr><td>충돌</td><td>충돌 파일 목록 · <span class="btn-label">3분할로 열기</span> <span class="btn-label">Accept Mine</span> <span class="btn-label">Accept Theirs</span> <span class="btn-label">Accept Both</span> <span class="btn-label">병합 커밋</span></td></tr>
|
<tr><td>충돌</td><td>충돌 파일 목록(종류 · 푼 개수) · <span class="btn-label">3분할로 열기</span> <span class="btn-label">Accept Mine</span> <span class="btn-label">Accept Theirs</span> <span class="btn-label">Accept Both</span> · 끝내기 단추는 작업에 따라 <span class="btn-label">병합 커밋</span> · <span class="btn-label">계속</span> · <span class="btn-label">커밋</span></td></tr>
|
||||||
<tr><td>변경 · 커밋</td><td><span class="btn-label">스테이징</span> <span class="btn-label">언스테이징</span> <span class="btn-label">변경 취소</span> <span class="btn-label">전체 스테이징</span> <span class="btn-label">stash 저장</span> <span class="btn-label">blame</span> · stash 목록 <span class="btn-label">적용</span> <span class="btn-label">삭제</span> · 커밋 메시지 <span class="btn-label">마지막 메시지</span> <span class="btn-label">커밋</span> <span class="btn-label">커밋 수정</span>(amend, 푸시 전에만)</td></tr>
|
<tr><td>변경 · 커밋</td><td><span class="btn-label">스테이징</span> <span class="btn-label">언스테이징</span> <span class="btn-label">변경 취소</span> <span class="btn-label">전체 스테이징</span> <span class="btn-label">stash 저장</span> <span class="btn-label">blame</span> · stash 목록 <span class="btn-label">적용</span> <span class="btn-label">삭제</span> · 커밋 메시지 <span class="btn-label">마지막 메시지</span> <span class="btn-label">커밋</span> <span class="btn-label">커밋 수정</span>(amend, 푸시 전에만)</td></tr>
|
||||||
<tr><td>이력</td><td>커밋 그래프 · 선택 커밋 → <span class="btn-label">Revert</span> <span class="btn-label">Cherry-pick</span> <span class="btn-label">Reset</span> · <span class="btn-label">여기부터</span>(두 커밋 사이 비교) <span class="btn-label">해제</span> · <span class="btn-label">변경분 추출</span>(바뀐 파일만 폴더로, 바이트 그대로)</td></tr>
|
<tr><td>이력</td><td>커밋 그래프 · <span class="btn-label">모든 브랜치</span>(다른 브랜치 커밋까지 보임) · 선택 커밋 → <span class="btn-label">Revert</span> <span class="btn-label">Cherry-pick</span> <span class="btn-label">Reset</span> · <span class="btn-label">여기부터</span>(두 커밋 사이 비교) <span class="btn-label">해제</span> · <span class="btn-label">변경분 추출</span>(바뀐 파일만 폴더로, 바이트 그대로)</td></tr>
|
||||||
<tr><td>Blame</td><td>파일 경로 → <span class="btn-label">실행</span>. 줄마다 커밋 · 날짜 · 작성자. 이력에서 커밋을 골라 두면 그 시점 기준</td></tr>
|
<tr><td>Blame</td><td>파일 경로 → <span class="btn-label">실행</span>. 줄마다 커밋 · 날짜 · 작성자. 이력에서 커밋을 골라 두면 그 시점 기준</td></tr>
|
||||||
<tr><td>태그 · 서브모듈</td><td>태그 <span class="btn-label">생성</span>(메시지를 넣으면 annotated) <span class="btn-label">선택 태그 삭제</span> · <span class="btn-label">서브모듈 업데이트 (--init)</span></td></tr>
|
<tr><td>태그 · 서브모듈</td><td>태그 <span class="btn-label">생성</span>(메시지를 넣으면 annotated) <span class="btn-label">선택 태그 삭제</span> · <span class="btn-label">서브모듈 업데이트 (--init)</span></td></tr>
|
||||||
</table></div>
|
</table></div>
|
||||||
@ -528,12 +528,10 @@ UbisamBase.Shell.exe <span class="k">--merge --base</span> B.cs <span class="k">
|
|||||||
|
|
||||||
<h2 id="m-limits">알아 둘 한계</h2>
|
<h2 id="m-limits">알아 둘 한계</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>머지 주석 자동 풀기는 Git 탭 <span class="btn-label">Merge</span> 에만 걸려 있다. pull · rebase · cherry-pick 이 낸 충돌에는 아직 안 된다.</li>
|
<li>파일 단위 <span class="btn-label">Accept Mine</span> / <span class="btn-label">Accept Theirs</span> 는 고른 쪽 파일을 <b>바이트째</b> 쓴다. 상대가 줄끝을 바꾼 파일이라면 그 줄끝이 그대로 들어온다 — 줄끝을 지키려면 네 칸에서 줄로 고른다.</li>
|
||||||
<li>rebase · cherry-pick 충돌도 같은 네 칸을 쓰지만, 6차는 병합만 끝까지 확인했다.</li>
|
|
||||||
<li>3분할에서 줄을 고르면 로그에 “(3-Way 안 씀) 반영” 으로 적힌다 — 글자만 틀렸고 결과는 맞다(7차).</li>
|
|
||||||
<li>마지막 충돌을 [Save] 하면 병합 커밋 전까지 두 칸 · “남은 차이 N줄” 로 보인다 — 푼 결과가 내 쪽과 다른 줄 수다. 충돌 탭의 “충돌 정리 끝” 을 믿으면 된다(7차).</li>
|
|
||||||
<li>빠른 비교(크기 · 수정일)는 내용이 바뀌었는데 크기와 시각이 같은 파일을 놓친다.</li>
|
<li>빠른 비교(크기 · 수정일)는 내용이 바뀌었는데 크기와 시각이 같은 파일을 놓친다.</li>
|
||||||
<li>코드 검사는 빌드가 된다는 보증이 아니다.</li>
|
<li>코드 검사는 빌드가 된다는 보증이 아니다.</li>
|
||||||
|
<li>화면 왼쪽 · 오른쪽 반쪽 스냅은 <b>반쪽이 되지 않는다</b>. 창의 가장 작은 크기(1280 × 720)가 반쪽보다 커서, 2560 폭 모니터에서 75% 를 차지한다.</li>
|
||||||
<li>로그인 · 권한은 아직 없다. 창 여러 개로 비교하는 기능은 넣지 않기로 했다.</li>
|
<li>로그인 · 권한은 아직 없다. 창 여러 개로 비교하는 기능은 넣지 않기로 했다.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -847,7 +845,7 @@ Log(<span class="s">"step 5"</span>);</pre>
|
|||||||
</ul>
|
</ul>
|
||||||
<ul>
|
<ul>
|
||||||
<li><span class="chip c-done">완료</span> D-1 새 저장소로 끝까지 — 줄끝 바뀐 파일 0/33 · 23가지 중 사라짐 18</li>
|
<li><span class="chip c-done">완료</span> D-1 새 저장소로 끝까지 — 줄끝 바뀐 파일 0/33 · 23가지 중 사라짐 18</li>
|
||||||
<li>7차: 로그 “3-Way 안 씀” · 마지막 저장 뒤 두 칸 · 기록 파일 치우기</li>
|
<li>7차 · 8차: 다른 충돌 길(pull · rebase · cherry-pick · revert) · 셸 창 크기 조절 — 끝</li>
|
||||||
<li>사내 Gitea 저장소가 생기면 한 번에 푸시</li>
|
<li>사내 Gitea 저장소가 생기면 한 번에 푸시</li>
|
||||||
<li>기획 4단계: 사내 베타 · 매뉴얼 (09.29 ~ 10.02)</li>
|
<li>기획 4단계: 사내 베타 · 매뉴얼 (09.29 ~ 10.02)</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -878,7 +876,7 @@ Log(<span class="s">"step 5"</span>);</pre>
|
|||||||
<div class="page-head">
|
<div class="page-head">
|
||||||
<div class="eyebrow">앞으로 남은 내용</div>
|
<div class="eyebrow">앞으로 남은 내용</div>
|
||||||
<h1>남은 일</h1>
|
<h1>남은 일</h1>
|
||||||
<p class="lede">6차는 D-1 까지 모두 끝났다. D-1 에서 새로 걸린 것(7차 재료)과 일부러 미뤄 둔 것.</p>
|
<p class="lede">7차까지 모두 끝났고 8차는 A · B · C 를 끝냈다. 차수별로 무엇을 고쳤는지와, 아직 남은 것 · 일부러 미뤄 둔 것.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="doc">
|
<div class="doc">
|
||||||
<h2>6차 — 병합을 끝까지 믿고 쓸 수 있게</h2>
|
<h2>6차 — 병합을 끝까지 믿고 쓸 수 있게</h2>
|
||||||
@ -900,12 +898,24 @@ Log(<span class="s">"step 5"</span>);</pre>
|
|||||||
<tr><td>5차 C-1 의 23가지</td><td>사라짐 18 · 정해서 남음 1(머지 주석, B-5) · 이번 흐름에서 안 남 · 안 씀 3 · 따로 안 봄 1</td></tr>
|
<tr><td>5차 C-1 의 23가지</td><td>사라짐 18 · 정해서 남음 1(머지 주석, B-5) · 이번 흐름에서 안 남 · 안 씀 3 · 따로 안 봄 1</td></tr>
|
||||||
</table></div>
|
</table></div>
|
||||||
|
|
||||||
<h2>7차 재료 — D-1 에서 새로 걸린 것 (고치지 않음)</h2>
|
<h2>7차에서 고친 것 (2026-09-14 ~ 09-15)</h2>
|
||||||
<div class="tbl wide"><table>
|
<div class="tbl wide"><table>
|
||||||
<tr><th>#</th><th>무엇</th><th>근거</th></tr>
|
<tr><th>항목</th><th>무엇</th></tr>
|
||||||
<tr><td>N1</td><td>3분할에서 줄을 고르면 로그가 “N행 (3-Way 안 씀) 반영”</td><td>로그 11줄 모두. 머리의 3-Way 콤보 글자를 쓰는 것으로 보임</td></tr>
|
<tr><td>A-1 · A-2</td><td>마지막 [Save] 뒤 “남은 차이” 대신 “충돌 정리 끝 · 병합 커밋을 할 수 있습니다” · 줄 고른 로그가 “Theirs(feature/theirs)” 로 (예전엔 “3-Way 안 씀”)</td></tr>
|
||||||
<tr><td>N2</td><td>마지막 [Save] 뒤, 병합 중인데 두 칸(HEAD ↔ 워킹트리) “남은 차이 3줄” 로 떨어져 덜 푼 것처럼 보인다</td><td><code>Weld/Unit1.cs</code> 저장 직후 화면</td></tr>
|
<tr><td>B-1</td><td>병합이 끝나면 <code>.git/MERGEHUB_CONFLICTS</code> 를 치운다(터미널에서 끝낸 병합 포함)</td></tr>
|
||||||
<tr><td>N3</td><td>병합 커밋 뒤에도 <code>.git/MERGEHUB_CONFLICTS</code> 가 남는다</td><td>MERGE_HEAD 와 대조하므로 해는 없음</td></tr>
|
<tr><td>C-1 · C-2</td><td>pull 도 [Merge] 와 같은 뒷일(주석 자동 풀기 · 알림 · 커밋 메시지) · rebase · cherry-pick 을 작업 이름과 작업별 끝내기 단추로, 이력 <b>모든 브랜치</b></td></tr>
|
||||||
|
<tr><td>D-1</td><td>네 길(병합 · pull · rebase · cherry-pick)을 새 저장소에서 MergeHub 만으로 끝까지 — 줄끝 · BOM 바뀐 파일 0</td></tr>
|
||||||
|
<tr><td>E-1 ~ E-4</td><td>[해결로 저장] → <b>Save</b> · 폴더 끌어다 놓기 차례 · 이름 창 잠금 · <b>셸 창 크기 조절</b>(플랫폼)</td></tr>
|
||||||
|
</table></div>
|
||||||
|
|
||||||
|
<h2>8차에서 고친 것 (2026-09-16)</h2>
|
||||||
|
<div class="tbl wide"><table>
|
||||||
|
<tr><th>항목</th><th>무엇</th></tr>
|
||||||
|
<tr><td>A-1</td><td><b>고른 파일에 다른 파일 내용이 저장되던 것</b> — 파일 비교 탭을 [3분할로 열기] 로 처음 열면 첫 충돌 파일이 보였고, 그 화면을 저장하면 고른 파일에 그 내용이 써졌다. 늦게 끝난 읽기를 버리고 다시 읽으며, 화면에 실린 파일과 저장할 파일이 다르면 아무것도 쓰지 않는다</td></tr>
|
||||||
|
<tr><td>B-1 · B-2</td><td>rebase · cherry-pick 도 마지막 저장 뒤 작업에 맞는 말을 한다 · 가져올 변경이 없는 cherry-pick 은 [커밋] 을 끄고 [작업 취소] 를 안내</td></tr>
|
||||||
|
<tr><td>B-3</td><td>MERGED 칸 줄 번호를 <b>결과 파일 번호</b>로(사용자 결정) — 상태바 · 이동 칸 · 저장된 파일과 같아졌다</td></tr>
|
||||||
|
<tr><td>C-1 · C-2</td><td>revert 충돌을 화면으로 끝까지 · cherry-pick 이 원래 작성자를 남기는 것을 git 과 견줘 확인</td></tr>
|
||||||
|
<tr><td>C-3</td><td>셸 창에서 첫 Win+↓ 크기 · 덮는 창 가운데 맞춤(플랫폼, 배포함)</td></tr>
|
||||||
</table></div>
|
</table></div>
|
||||||
|
|
||||||
<h2>C# 코드 스타일 맞춤에서 남긴 것</h2>
|
<h2>C# 코드 스타일 맞춤에서 남긴 것</h2>
|
||||||
@ -914,10 +924,10 @@ Log(<span class="s">"step 5"</span>);</pre>
|
|||||||
<li>git 병합 자체는 스타일을 모른다. 스타일만 다른 충돌도 git 은 충돌로 내고, MergeHub 는 네 칸에서 맞춰 보여 줄 뿐 자동으로 풀지는 않는다.</li>
|
<li>git 병합 자체는 스타일을 모른다. 스타일만 다른 충돌도 git 은 충돌로 내고, MergeHub 는 네 칸에서 맞춰 보여 줄 뿐 자동으로 풀지는 않는다.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>6차에서 남긴 것</h2>
|
<h2>8차에 남은 것</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>머지 주석 자동 풀기는 Git 탭 [Merge] 에만 걸었다. <b>pull · rebase · cherry-pick</b> 이 낸 충돌에는 아직.</li>
|
<li><b>다섯 길 재확인(E-1)</b> — 병합 · pull · rebase · cherry-pick · revert 를 파일 비교 탭을 미리 열지 않고 사람 순서 그대로 다시 끝까지.</li>
|
||||||
<li><b>rebase · cherry-pick 충돌</b>을 끝까지 믿을 수 있게 하는 확인 — 6차에서 뺐다.</li>
|
<li>빈 cherry-pick 을 git 처럼 <b>빈 커밋으로 남기는 길</b>은 두지 않기로 했다(2026-09-16 사용자 결정).</li>
|
||||||
<li>MERGED 칸에서 반영하며 넣은 주석 줄이 다시 정렬하면 “무시” 색이 된다(차이 수에는 원래 안 세던 줄).</li>
|
<li>MERGED 칸에서 반영하며 넣은 주석 줄이 다시 정렬하면 “무시” 색이 된다(차이 수에는 원래 안 세던 줄).</li>
|
||||||
<li>폴더 비교 뒤 화면 트리를 세우는 데 약 1초 — 줄일 자리로 적어 둠(5차 B-2).</li>
|
<li>폴더 비교 뒤 화면 트리를 세우는 데 약 1초 — 줄일 자리로 적어 둠(5차 B-2).</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -1145,7 +1155,7 @@ Log(<span class="s">"step 5"</span>);</pre>
|
|||||||
<tr><th>단계</th><th>v1.1 계획</th><th>실제</th><th>상태</th></tr>
|
<tr><th>단계</th><th>v1.1 계획</th><th>실제</th><th>상태</th></tr>
|
||||||
<tr><td>1 착수 · 설계</td><td>09.02 – 09.04 · 요구사항 · 구조 · WPF 골격</td><td>기획안 v1.1(09-03). 구조를 App · Core · Git · UI 분리 대신 <b>UbisamBase 셸 + 플러그인</b>으로</td><td><span class="chip c-done">완료</span></td></tr>
|
<tr><td>1 착수 · 설계</td><td>09.02 – 09.04 · 요구사항 · 구조 · WPF 골격</td><td>기획안 v1.1(09-03). 구조를 App · Core · Git · UI 분리 대신 <b>UbisamBase 셸 + 플러그인</b>으로</td><td><span class="chip c-done">완료</span></td></tr>
|
||||||
<tr><td>2 기반 구축</td><td>09.07 – 09.14 · Git 연동 · 커밋 그래프 · 편집기 · 비교 엔진</td><td>09-07 방향 전환 · 09-08 기능 덩어리 5개 · 09-09 3차 · 09-10 4차 · 09-11 5차. <b>MVP 8개가 이 단계 안에 모두 들어갔다</b></td><td><span class="chip c-done">완료</span></td></tr>
|
<tr><td>2 기반 구축</td><td>09.07 – 09.14 · Git 연동 · 커밋 그래프 · 편집기 · 비교 엔진</td><td>09-07 방향 전환 · 09-08 기능 덩어리 5개 · 09-09 3차 · 09-10 4차 · 09-11 5차. <b>MVP 8개가 이 단계 안에 모두 들어갔다</b></td><td><span class="chip c-done">완료</span></td></tr>
|
||||||
<tr><td>3 핵심 기능</td><td>09.15 – 09.23 · 3-Way · 부분 수용 · Undo · 우클릭 · Git 메뉴</td><td>기능은 앞당겨 끝났으므로 “병합을 끝까지 믿고 쓸 수 있게”(6차)로 쓴다. 09-14: A 5 · B 8 · C 1 · D 1 <b>6차 전부 완료</b>. 7차 재료 3가지</td><td><span class="chip c-done">완료</span></td></tr>
|
<tr><td>3 핵심 기능</td><td>09.15 – 09.23 · 3-Way · 부분 수용 · Undo · 우클릭 · Git 메뉴</td><td>기능은 앞당겨 끝났으므로 “병합을 끝까지 믿고 쓸 수 있게”(6차)로 썼다. 09-14 <b>6차 완료</b> → 09-15 <b>7차 완료</b>(다른 충돌 길 · 창 크기) → 09-16 <b>8차 A · B · C</b></td><td><span class="chip c-done">완료</span></td></tr>
|
||||||
<tr><td>4 테스트 · 배포</td><td>09.29 – 10.02 · 성능 · 인코딩/줄바꿈 검증 · 베타 · 매뉴얼</td><td>성능 · 인코딩 · 줄바꿈 검증은 5차 · 6차에서 앞당겨 함. 매뉴얼 초안은 이 문서. 베타 배포는 대기</td><td><span class="chip c-wait">대기</span></td></tr>
|
<tr><td>4 테스트 · 배포</td><td>09.29 – 10.02 · 성능 · 인코딩/줄바꿈 검증 · 베타 · 매뉴얼</td><td>성능 · 인코딩 · 줄바꿈 검증은 5차 · 6차에서 앞당겨 함. 매뉴얼 초안은 이 문서. 베타 배포는 대기</td><td><span class="chip c-wait">대기</span></td></tr>
|
||||||
</table></div>
|
</table></div>
|
||||||
<h4>일하는 방식 — v1.1 에 없던 것</h4>
|
<h4>일하는 방식 — v1.1 에 없던 것</h4>
|
||||||
@ -1333,7 +1343,7 @@ D:\MergeHubDemo\repo\ <span class="d">make-demo.ps1 이 만드는 Git
|
|||||||
<li><b>반영 기록을 소스에 남기고, 그 기록 때문에 생기는 충돌은 스스로 푼다.</b> 우리 팀은 누가 언제 반영했는지를 <code>// [이름] 날짜</code> 로 남긴다. WinMerge 에는 이 규칙이 없어 손으로 적어야 하고, 다음 병합 때 주석끼리 충돌한다. 만든 저장소에서 git 충돌 26개 중 2개가 이런 충돌이었다.</li>
|
<li><b>반영 기록을 소스에 남기고, 그 기록 때문에 생기는 충돌은 스스로 푼다.</b> 우리 팀은 누가 언제 반영했는지를 <code>// [이름] 날짜</code> 로 남긴다. WinMerge 에는 이 규칙이 없어 손으로 적어야 하고, 다음 병합 때 주석끼리 충돌한다. 만든 저장소에서 git 충돌 26개 중 2개가 이런 충돌이었다.</li>
|
||||||
<li><b>리뷰할 diff 를 지킨다.</b> 병합 결과를 내 쪽 파일의 줄끝 · 인코딩으로 쓴다. 3분할 저장이 LF 로 바꿔 쓰던 문제를 고친 뒤 3,367줄 파일의 diff 가 +8/−4 로 줄었다. CP949 한글 파일도 같은 규칙이다.</li>
|
<li><b>리뷰할 diff 를 지킨다.</b> 병합 결과를 내 쪽 파일의 줄끝 · 인코딩으로 쓴다. 3분할 저장이 LF 로 바꿔 쓰던 문제를 고친 뒤 3,367줄 파일의 diff 가 +8/−4 로 줄었다. CP949 한글 파일도 같은 규칙이다.</li>
|
||||||
<li><b>스타일만 다른 diff 를 걷어 낸다.</b> 사람마다 다른 C# 중괄호 자리를 AURORA / Allman 로 맞춘 뒤 견준다. 시연 파일에서 남은 차이가 39줄에서 진짜 변경 1줄로 준다.</li>
|
<li><b>스타일만 다른 diff 를 걷어 낸다.</b> 사람마다 다른 C# 중괄호 자리를 AURORA / Allman 로 맞춘 뒤 견준다. 시연 파일에서 남은 차이가 39줄에서 진짜 변경 1줄로 준다.</li>
|
||||||
<li><b>우리가 고친다.</b> 사내 요구가 생기면 그날 넣는다 — C# 스타일 맞춤은 요청 당일 들어갔다. 기록과 검사(22벌 948건)가 저장소에 함께 있다.</li>
|
<li><b>우리가 고친다.</b> 사내 요구가 생기면 그날 넣는다 — C# 스타일 맞춤은 요청 당일 들어갔다. 기록과 검사(22벌 1,073건)가 저장소에 함께 있다.</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<h2>WinMerge 가 더 나은 점</h2>
|
<h2>WinMerge 가 더 나은 점</h2>
|
||||||
|
|||||||
@ -221,7 +221,7 @@
|
|||||||
|
|
||||||
| 상태 | 항목 |
|
| 상태 | 항목 |
|
||||||
|---|---|
|
|---|---|
|
||||||
| 대기 | D-1 웹 문서를 7차 · 8차에 맞게 ("알아 둘 한계" 포함) |
|
| **완료** | D-1 웹 문서를 7차 · 8차에 맞게 — 매뉴얼(창 크기 · 폴더 끌어놓기 차례 · 작업별 네 칸 제목 · MERGED 번호 · 다른 충돌 길) · "알아 둘 한계" 다시 씀 · 남은 일 표 · 숫자(22벌 1,073건 · 커밋 94). 아티팩트 버전 7 로 발행 |
|
||||||
|
|
||||||
### E. 확인
|
### E. 확인
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user