mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-11-12 04:07:34 +00:00
## 事故:上一个 commit 只提交了 rename,没提交内容改动
`fb67703` 用 `git mv` 把 `kernel_buttons_render_test.go` 移进 `test/`,
但改 `package webui → package test`、`dashboardHTML → webui.DashboardPage()`
这些编辑留在工作区没进暂存区。结果 **HEAD 的 `test/` 目录里放着一个
`package webui` 的文件**:
found packages test (chat_ack_timeout_test.go) and webui
(kernel_buttons_render_test.go) in internal/plugins/webui/test
本仓 `.gitignore` 忽略 `build/`,本地 `go test ./...` 也过了 —— 但那是
**带未提交改动的工作区**过了,不是这个 commit 过了。干净 worktree 复验:
git worktree add /tmp/cleanchk HEAD
go test ./internal/plugins/webui/test/
→ FAIL [setup failed] found packages test and webui
这正是 2026-11-03 定的提交纪律第 5 条要拦的事。上一批做完 `git mv`
只 `git diff --cached --stat` 看到 "0 insertions" 就该警觉 —— rename 的
staged diff 是 0,而内容改动是 unstaged,等于提交了个半成品。
## 教训(写进流程)
`git mv` 之后**必须再 `git add` 一次同名路径**,否则只提交移动本身。
以后每批提交前一律:
git diff --stat # 看 unstaged 是否还有内容
git worktree add /tmp/clean <sha> # 干净检出复验
go build ./... && go test ./...
## 本提交的改动
package webui → package test
dashboardHTML → webui.DashboardPage()
FrontendAsset → webui.FrontendAsset
import 补 internal/plugins/webui + gofmt 排序
## 验证
干净 worktree(本提交后)复验通过,见下一条命令的输出。