diff --git a/.workbuddy/memory/2026-10-12.md b/.workbuddy/memory/2026-10-12.md index 198974e..2b0c75d 100644 --- a/.workbuddy/memory/2026-10-12.md +++ b/.workbuddy/memory/2026-10-12.md @@ -114,3 +114,23 @@ JS 动态建的输入框模板扫不到,另用 `TestTopicAreaRadiusInputAllows **顺带**:把 `admin/topics.html` 的工作区行尾归一到 LF。`git add` 之后**零改动** ⇒ 再次确认 blob 本来就是 LF,CRLF 只是检出产物(那条 CRLF 警告是 stat 缓存假象)。 + +## 推送这个仓库要认证(非交互环境会卡住) + +用户让「提交一次」时本地其实已经全部提交完了(每批做完就提交),工作区干净; +唯一没做的是推送。结果 `git push origin master` **卡了 7 分钟没有任何输出**。 + +诊断(下次直接照这个查): + +- 远端 `git.shiroko.one` 的 **读是匿名的**(`upload-pack` HTTP 200)、 + **写要认证**(`receive-pack` HTTP 401)⇒ 所以 `git fetch` 一切正常、唯独 push 卡住。 +- `tasklist` 里能看到 `git-credential-helper-selector`(**有可见窗口**,标题 + `CredentialHelperSelector`),`git config credential.helper` = `helper-selector` + + PortableGit 自带的 `git-credential-manager.exe`。本机从未推过这个仓库 ⇒ 触发选择器弹窗等人。 +- 判据:`netstat` 里到远端的连接**根本没建立**(ESTABLISHED 全是本机 postgres), + 说明停在认证之前,不是网络慢。 +- ⚠️ `git push | tail -N` 会把进度缓冲住,看起来「一片空白」——排查时别用管道。 + +处置:结束掉 push 那几个进程(不动本地提交,也不会留 `.git/*.lock`), +**由用户在自己的终端里推**(交互式提示看得见)。 +**结论:以后不要在这个环境里代跑 `git push`,直接把命令交给用户。**