10차 E-1: 다섯 길(+ pull)을 다시 끝까지 - 새로 걸린 것 없음

병합 · pull · rebase · cherry-pick · revert 를 새 저장소에서 MergeHub 만으로 끝까지.
파일 비교 탭 미리 안 엶, cherry-pick · revert 는 [모든 브랜치] · Git 탭 이력을 마우스로.

- 누른 Take = 줄 고른 로그: 18 · 18 · 18 · 18 · 6
- 마지막 Save 뒤 제목 · 요약 · 기준 = git diff, 커밋 뒤 새 HEAD
- 줄끝 · BOM 바뀐 파일 0 (33 · 33 · 31 · 33 · 36) · 충돌 표식 0 · class 이름 0
- Git 탭에서 고른 커밋을 파일 비교 탭이 바로 따라옴 (10차 B-1)
- 8차 A-1 · B-1 · B-2 · F-1 · 9차 A-1 · A-2 · B-1 안 남
- 제품 코드 변경 없음

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
김승준 2026-09-17 16:36:36 +09:00
parent fadc000081
commit a0c7621633
3 changed files with 65 additions and 1 deletions

View File

@ -225,6 +225,69 @@
- **느린 디스크(HDD · SATA SSD)에서는 재 보지 않았다.** 이 PC 는 NVMe 뿐이다. 한 갈래 1.8초가 여러 갈래로 0.3초가 된 것은 NVMe 가 동시 읽기에 강해서이고, - **느린 디스크(HDD · SATA SSD)에서는 재 보지 않았다.** 이 PC 는 NVMe 뿐이다. 한 갈래 1.8초가 여러 갈래로 0.3초가 된 것은 NVMe 가 동시 읽기에 강해서이고,
HDD 에서는 여러 갈래 읽기가 오히려 느릴 수 있다. 사내 PC 가 HDD 라면 베타 배포 때 재 볼 거리다. HDD 에서는 여러 갈래 읽기가 오히려 느릴 수 있다. 사내 PC 가 HDD 라면 베타 배포 때 재 볼 거리다.
## E-1. 다섯 길(+ pull)을 다시 끝까지, 누름 간격은 사람 손 빠르기로 (2026-09-17, 완료)
지시서대로 **고치지 않고 적기만 했다.** 제품 코드는 바꾸지 않았다. **다섯 길 모두 끝까지 갔고 새로 걸린 것은 없다.**
### 무엇으로 했나 (`d10-e1.ps1 -Way merge|pull|rebase|pick|revert`)
- 길마다 `C1Repo` 로 저장소를 새로 만들고 **파일 비교 탭을 미리 열지 않았다**(`D7_NO_PREOPEN=1`). 이름 창은 [저장], 원격 영역은 [펴기]. 설정 `CSharpBraceStyle` 은 길마다 백업 → 끔 → 되돌림(다섯 번 모두 해시 같음).
- 푸는 순서는 9차 D-1 과 같다: 같은 줄 충돌 15개 파일 단위 Accept Theirs → NewPanel Accept Both [아니오] → [3분할로 열기] 뒤 저절로 열리는 파일마다 [다음 충돌] → Take Theirs / Take Mine 번갈아(누름 사이 0.4초 · 0.7초) → [Save] · 띠 [파일 지우기] · [파일 남기기]. 마지막 `Weld/Unit1.cs` 는 네 칸.
- pull 은 bare 저장소를 원격으로 두고 원격 `feature/mine` 을 `상대 쪽 작업` 으로 옮겨 놓은 뒤 [Pull](9차 D-1 에서 빠진 길).
- cherry-pick · revert 는 [모든 브랜치] 를 켜고 **Git 탭 이력 줄을 마우스로 눌러** 골랐다(10차 B-1 은 목록이 선택을 바꾸기 전에 묻는 길이라 UI 자동화 Select 로는 그 길을 안 탄다). revert 는 15개 파일 단위 · 마지막 `Motion/Unit0.cs` 네 칸 Take Theirs 6.
- 새로 넣은 확인
- **누른 수 = 줄 고른 로그**: 시험 도구가 Take 를 실제로 누른 횟수(단추가 꺼져 누르지 못한 것은 빼고 다시 누름, 10차 A-1)를 세어 앱 로그의 "N행 … 반영 / 으로 정함" 줄 수와 견줌.
- **범례**(저장 전): 반영하며 넣은 주석 줄이 "추가" · "직접 수정" 으로 세지지 않는가(9차 B-1 · 10차 C-1 회귀).
- **B-1**: 끝낸 뒤 Git 탭 이력에서 `바탕` 을 마우스로 고르고 파일 비교 탭을 봄 → 다시 HEAD 를 고르고 봄.
### 다섯 길의 결과
| 확인 | ① 병합 | ② pull | ③ rebase | ④ cherry-pick ([모든 브랜치]) | ⑤ revert ([모든 브랜치]) |
|---|---|---|---|---|---|
| 시작 알림 | 충돌 24건 (머지 주석만 다른 2건은 자동으로 풀림) | 같음 | 같음 + [계속] 안내 | 같음 + [커밋] 안내 | 충돌 16건 + [커밋] 안내 |
| **누른 Take = 줄 고른 로그** | **18 = 18** | **18 = 18** | **18 = 18** | **18 = 18** | **6 = 6** |
| "3-Way 안 씀" 로그 · 다시 누름 · 못 누름 | 0 · 0 · 0 | 0 · 0 · 0 | 0 · 0 · 0 | 0 · 0 · 0 | 0 · 0 · 0 |
| 네 칸 REMOTE | feature/theirs | feature/theirs | 다시 올리는 내 커밋 | 가져오는 커밋 `상대 쪽 작업` | 되돌리는 커밋 `내 쪽 작업` |
| 충돌 남은 채 Save & Commit | 막힘 · git 그대로 | 막힘 · git 그대로 | 꺼짐 | 꺼짐 | - |
| 범례(Unit0 · Unit1, Take 6번) | 반영함 6 · 직접 수정 0 · 추가 0 · 무시 3 | 같음 | 같음 | 같음 | 반영함 6 · 직접 수정 0 · 추가 0 · 무시 6 |
| 마지막 [Save] 한 파일 | Weld/Unit1.cs (네 칸) | Weld/Unit1.cs | Weld/Unit1.cs | Weld/Unit1.cs | Motion/Unit0.cs (네 칸) |
| 마지막 Save 뒤 제목 | `4588370 · Weld/Unit1.cs · 병합 전 내 쪽` | `0bb5489 · … · 병합 전 내 쪽` | `6798ad6 · … · 올릴 자리` | `3501248 · … · 가져오기 전 내 쪽` | `0454fdc · Motion/Unit0.cs · 되돌리기 전 내 쪽` |
| 마지막 Save 뒤 요약 | 충돌 정리 끝 · 병합 커밋을 할 수 있습니다 · 내 쪽 대비 받은 변경 3줄 | 같음 | … · [계속] 으로 rebase 를 이어 갑니다 · 올릴 자리 대비 올린 변경 3줄 | … · [커밋] 으로 cherry-pick 을 끝냅니다 · 내 쪽 대비 가져온 변경 3줄 | … · [커밋] 으로 revert 를 끝냅니다 · 내 쪽 대비 되돌린 변경 6줄 |
| 기준 대조 (HEAD = 제목 = Selected Commit, N = git) | **같음** · +3 −3 (주석 3 뺌) | **같음** · +3 −3 | **같음** · +3 −3 | **같음** · +3 −3 | **같음** · +6 −6 (주석 6 뺌) |
| 끝낸 커밋 | `e7edade` 부모 둘 · 본문 **충돌 해결 26개 · 김승준** | `583851e` 부모 둘 · Merge remote-tracking branch 'origin/feature/mine' · 본문 **26개** · 원격 대비 뒤 0 앞 2 | `7edd15a` 부모 하나(`6798ad6` 올릴 자리 위) | `42c3d55` 부모 하나 · 작성자 **박지훈** · 커밋한 사람 시험 | `b8acc3a` Revert "내 쪽 작업" · REVERT_HEAD 없음 |
| 커밋 뒤 파일 비교 탭 기준 | 새 HEAD `e7edade` | 새 HEAD `583851e` | 새 HEAD `7edd15a` | 새 HEAD `42c3d55` | 새 HEAD `b8acc3a` |
| **B-1** Git 탭에서 `바탕` → 파일 비교 탭 | Selected Commit · 왼쪽 이력 · 제목 모두 `바탕` · 남은 차이 6줄 | 같음 | 같음 | 같음 | 모두 `바탕` · 차이 없음 (아래) |
| **B-1** Git 탭에서 다시 HEAD → 파일 비교 탭 | Selected Commit · 왼쪽 이력 · 제목 모두 HEAD | 같음 | 같음 | 같음 | 같음 |
| 줄끝 · BOM · 인코딩 바뀐 파일 | **0 / 33** | **0 / 33** | **0 / 31** | **0 / 33** | **0 / 36** |
| 충돌 표식 · class 이름 다른 Unit | 0 · 0 | 0 · 0 | 0 · 0 | 0 · 0 | 0 · 0 |
| 끝난 뒤 | Clean · `.git` 표시 없음 | 같음 | Clean · rebase-merge 없음 | Clean · CHERRY_PICK_HEAD 없음 | Clean |
| 빈 cherry-pick (방금 만든 HEAD 를 다시) | - | - | - | [커밋] **꺼짐** · "cherry-pick 했지만 가져올 변경이 없습니다 - [작업 취소] 로 끝냅니다" · [작업 취소] 로 나옴 | - |
| 걸린 시간 | 302초 | 304초 | 300초 | 347초(빈 cherry-pick 포함) | 198초 |
- revert 의 `바탕` 대 HEAD `Motion/Unit0.cs` 는 git 으로 보면 +6 줄인데 6줄 모두 `// [김승준] 2026-09-17` 머지 주석이다. 설정 "머지 주석 무시" 가 켜져 있어 차이 없음이 맞다.
- cherry-pick · revert 는 Git 탭에서 커밋을 고른 뒤(B-1 로 파일 비교 탭도 그 커밋을 따라감) 작업을 시작했는데, [3분할로 열기] 로 처음 연 파일 비교 탭은 고른 충돌 파일을 보였고 마지막 Save 뒤 기준은 HEAD 였다(9차 A-1 규칙 그대로).
### 판정 기준
| 기준 | 결과 |
|---|---|
| 다섯 길 모두 MergeHub 만으로 끝까지 | **됐다** — 모두 첫 회차 |
| 줄끝 · BOM 바뀐 파일 0 · 충돌 표식 0 · class 이름 다른 Unit 파일 0 | **다섯 길 모두 0** |
| 마지막 [Save] 뒤 제목 · 요약 · 기준이 같다 | **다섯 길 모두 같음** — 요약의 N 도 git diff 와 같음 |
| 줄 고른 로그 = 누른 수 | **다섯 길 모두 같음** (18 · 18 · 18 · 18 · 6), 다시 누름 · 못 누름 0 |
| 8차 A-1 (처음 연 파일 비교 탭이 다른 파일) | **안 남** — [3분할로 열기] 로 처음 열어도 고른 파일, class 이름 검사 0 |
| 8차 B-1 (rebase · cherry-pick 마지막 저장 뒤 남은 차이) | **안 남** — "올릴 자리 대비 올린 변경 3줄" · "내 쪽 대비 가져온 변경 3줄" = git |
| 8차 B-2 (빈 cherry-pick [커밋] 켜짐) | **안 남** — 꺼짐 · 안내 로그 · [작업 취소] |
| 8차 F-1 (병합 커밋 본문) | 병합 · pull 본문 26개 = 처음 충돌 수 |
| 9차 A-1 · A-2 (작업 끝 기준 HEAD · 다른 브랜치 커밋이 기준) | **안 남** — [모든 브랜치] 켠 cherry-pick · revert 도 마지막 Save 뒤 HEAD, 커밋 뒤 새 HEAD |
| 9차 B-1 (넣은 주석 줄이 "추가") | **안 남** — 범례 추가 0 · 직접 수정 0, 넣은 주석은 무시로 셈 |
| 10차 B-1 (두 탭 고른 커밋) | 다섯 길 모두 Git 탭에서 고르면 파일 비교 탭의 Selected Commit · 왼쪽 이력 · 제목이 바로 따라옴 |
### 남긴 것 (시험 도구 쪽, 제품 아님)
- 줄끝 검사 스크립트(`d1-verify.ps1`)가 부모 하나인 커밋(rebase · cherry-pick · revert)에서 둘째 부모가 없어 `git merge-base` 오류를 한 번 찍는다. 첫 부모와 견주는 검사 값(0 / 31 · 33 · 36)은 그대로 나온다.
- 파일 비교 탭 요약을 읽는 함수가 "차이 없음" 글자는 잡지 않아 커밋 뒤 요약 칸이 빈칸으로 적혔다. 제목이 새 HEAD 인 것으로 판정했다.
## F-1 · F-2. 폴더 비교 "같은 것만" 에 내용이 다른 것처럼 보이는 줄이 섞인다 (2026-09-17, 추가 요청, 완료) ## F-1 · F-2. 폴더 비교 "같은 것만" 에 내용이 다른 것처럼 보이는 줄이 섞인다 (2026-09-17, 추가 요청, 완료)
사용자: "방금 폴더비교에서 같은것만 보기를 눌렀을때 내용이 다른파일들이 보이던데" — 9차 B-2 · 10차 D-1 에서 4,500개 시험 묶음으로 필터를 바꿔 가며 잴 때 화면으로 본 것. 사용자: "방금 폴더비교에서 같은것만 보기를 눌렀을때 내용이 다른파일들이 보이던데" — 9차 B-2 · 10차 D-1 에서 4,500개 시험 묶음으로 필터를 바꿔 가며 잴 때 화면으로 본 것.

View File

@ -8,6 +8,7 @@
| 날짜 | 항목 | 커밋 | | 날짜 | 항목 | 커밋 |
|---|---|---| |---|---|---|
| 2026-09-17 | **10차 E-1** — 새로 만든 저장소에서 병합 · pull · rebase · cherry-pick · revert 를 MergeHub 만으로 끝까지(파일 비교 탭 미리 안 엶, cherry-pick · revert 는 [모든 브랜치] · Git 탭 이력을 마우스로). 다섯 길 모두 첫 회차에 끝, 누른 Take = 줄 고른 로그(18 · 18 · 18 · 18 · 6), 마지막 Save 뒤 제목 · 요약 · 기준이 git 과 같음, 줄끝 · BOM · 충돌 표식 · class 이름 0. Git 탭에서 고른 커밋을 파일 비교 탭이 바로 따라옴. 8차 · 9차 회귀 없음, 새로 걸린 것 없음. 제품 코드 변경 없음 | 아래 |
| 2026-09-17 | **10차 F-3 (추가 요청)** — 폴더 비교 "주석만 다름" 에 BOM · 줄끝 · 인코딩 · 끝 공백 · 빈 줄 · 들여쓰기만 다른 파일도 들어와 맞지 않는 이름이었다. 판정은 그대로 두고 "다름(이진)" 과 같은 꼴로 **"다름(코드는 같음)"** 으로 바꿈 — 목록 · 범례(설명 붙임) · 요약 "다름 N(코드는 같음 M)" · 비교 결과 보고서 · 웹 문서. 하네스 FolderTest +1 | 아래 | | 2026-09-17 | **10차 F-3 (추가 요청)** — 폴더 비교 "주석만 다름" 에 BOM · 줄끝 · 인코딩 · 끝 공백 · 빈 줄 · 들여쓰기만 다른 파일도 들어와 맞지 않는 이름이었다. 판정은 그대로 두고 "다름(이진)" 과 같은 꼴로 **"다름(코드는 같음)"** 으로 바꿈 — 목록 · 범례(설명 붙임) · 요약 "다름 N(코드는 같음 M)" · 비교 결과 보고서 · 웹 문서. 하네스 FolderTest +1 | 아래 |
| 2026-09-17 | **10차 F-1 · F-2 (추가 요청)** — 폴더 비교 "같은 것만" 에서 같은 파일을 품은 폴더 줄이 폴더 자신의 상태 "다름"(주황)으로 보여 내용이 다른 것이 섞인 것처럼 읽혔다. 걸러 볼 때(같은 것만 · 왼쪽에만 · 오른쪽에만) 폴더 줄은 걸린 파일 수와 그 갈래 색으로 적는다. 설정(C# 스타일 맞춤 · 머지 주석 무시)으로 같음이 된 파일은 사용자 결정대로 같음으로 두고 "같음(스타일만 다름)" · "같음(머지 주석만 다름)" 으로 까닭을 붙인다. 요약 수 그대로. 하네스 FolderTest +15 | 아래 | | 2026-09-17 | **10차 F-1 · F-2 (추가 요청)** — 폴더 비교 "같은 것만" 에서 같은 파일을 품은 폴더 줄이 폴더 자신의 상태 "다름"(주황)으로 보여 내용이 다른 것이 섞인 것처럼 읽혔다. 걸러 볼 때(같은 것만 · 왼쪽에만 · 오른쪽에만) 폴더 줄은 걸린 파일 수와 그 갈래 색으로 적는다. 설정(C# 스타일 맞춤 · 머지 주석 무시)으로 같음이 된 파일은 사용자 결정대로 같음으로 두고 "같음(스타일만 다름)" · "같음(머지 주석만 다름)" 으로 까닭을 붙인다. 요약 수 그대로. 하네스 FolderTest +15 | 아래 |
| 2026-09-17 | **10차 D-1** — 9차 B-2 에서 한 번 잰 "그날 첫 폴더 비교 9.2초" 를 다시 냈다. 파일마다 버퍼 없이 열어 캐시를 비워도(한 갈래 읽기 0.4 → 1.8초로 먹는 것 확인) 전체 비교는 0.46~0.54초로 데운 상태와 같았고(여러 갈래 읽기), 앱을 새로 켠 첫 비교도 느리지 않았다. 9.2초는 다시 안 남 → 고치지 않음(제품 코드 변경 없음). 매뉴얼 한계 문장을 잰 값으로 고침. HDD 는 재 보지 않음 | 아래 | | 2026-09-17 | **10차 D-1** — 9차 B-2 에서 한 번 잰 "그날 첫 폴더 비교 9.2초" 를 다시 냈다. 파일마다 버퍼 없이 열어 캐시를 비워도(한 갈래 읽기 0.4 → 1.8초로 먹는 것 확인) 전체 비교는 0.46~0.54초로 데운 상태와 같았고(여러 갈래 읽기), 앱을 새로 켠 첫 비교도 느리지 않았다. 9.2초는 다시 안 남 → 고치지 않음(제품 코드 변경 없음). 매뉴얼 한계 문장을 잰 값으로 고침. HDD 는 재 보지 않음 | 아래 |

View File

@ -310,7 +310,7 @@
| 상태 | 항목 | | 상태 | 항목 |
|---|---| |---|---|
| 대기 | E-1 다섯 길(+ pull)을 다시 끝까지 — 줄 고른 로그 = 누른 수 | | **완료** | E-1 다섯 길(+ pull)을 다시 끝까지 — 고치지 않음. 병합 · pull · rebase · cherry-pick · revert 모두 첫 회차에 끝까지. 누른 Take = 줄 고른 로그(18 · 18 · 18 · 18 · 6), 마지막 Save 뒤 제목 · 요약 · 기준 = git, 줄끝 · BOM 바뀐 파일 · 충돌 표식 · class 이름 0. Git 탭에서 고른 커밋을 파일 비교 탭이 바로 따라옴(다섯 길). 8차 A-1 · B-1 · B-2 · F-1 · 9차 A-1 · A-2 · B-1 안 남. 새로 걸린 것 없음 |
| 대기 | E-2 웹 문서를 10차에 맞게 | | 대기 | E-2 웹 문서를 10차에 맞게 |
### F. 추가 요청 ### F. 추가 요청