mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-22 01:48:11 +00:00
chore: 修 .gitignore 误伤源码目录(4 类,28 个已跟踪文件)
`git ls-files | xargs -n1 git check-ignore --no-index` 查出 49 个已跟踪
源码文件落在 ignore 规则下。它们现在能提交只是因为「已跟踪文件不受
.gitignore 影响」这条 git 规则在兜着——**新增文件会默默不入库**。
## 根因一:缺前导斜杠(28 个文件)
`knowledge/` / `memory/` / `scripts/` 不带前导斜杠,git 把它们当作
「任意层级的同名目录」:
memory/ → 吞掉 internal/memory/ 24 个文件
knowledge/ → 吞掉 internal/knowledge/ 3 个文件
assets/knowledge/
scripts/ → 吞掉 deploy/scripts/ 1 个文件
本意只是忽略根级运行时数据目录。旁边的 `/adapters/` 就写对了,
这三条是漏了斜杠。
修法:补 `/` 前缀。验证两侧行为:
根级 knowledge/y.md memory/z.db scripts/tmp.sh 仍被忽略 ✓
深层 internal/memory/new.go internal/knowledge/new.go
deploy/scripts/new.sh 可入库 ✓
## 根因二:internal/meta/ 整目录被忽略(1 个文件)
引入于 1f1233b(2026-07-12),同批还有 `.go/`、`.local/`、
`internal/plugins/openclaw/{manager,pysimulator}/`(后两个目录现已不存在)。
`internal/meta/meta.go` 是内核版本号与元数据的唯一数据源,本轮升 1.0.0 时
`git add` 报「paths are ignored」,就是这条。已跟踪所以改动能提交,
但新增 meta 文件会丢。直接删掉这条规则。
## 保留的 20 项不是缺陷
`third_party/homeagent-sdk/example/` 下 20 个已跟踪文件(plg.json +
plugin.go)仍在规则覆盖下,这是**有意的**:外部插件维护在独立 SDK 仓
(决策 sdk_repo_only),主仓只需要这 20 个源码文件参与构建,不要 SDK 仓的
main.go/go.mod/go.sum。删掉该规则会让 60+ 个文件涌进主仓——实测确认过。
已在两处 ignore 段落写明理由,避免后来人「修」错方向。
验证:修复后 check-ignore 扫描从 49 降到 20(全部是有意保留的 example/);
go build ./... 通过。
This commit is contained in:
17
.gitignore
vendored
17
.gitignore
vendored
@ -10,7 +10,6 @@ data/
|
||||
.tmp-plugins/
|
||||
.go/
|
||||
.local/
|
||||
internal/meta/
|
||||
|
||||
*.hmap
|
||||
dev/
|
||||
@ -24,6 +23,11 @@ cmd/gui/dist/
|
||||
.gopath/
|
||||
|
||||
# SDK 工具链 — 核心仓不追踪
|
||||
#
|
||||
# 外部插件与工具链维护在独立 SDK 仓(决策 sdk_repo_only),
|
||||
# 本仓经 go.mod 的 replace => ./third_party/homeagent-sdk 引用。
|
||||
# example/ 下已跟踪的 20 个文件(plg.json + plugin.go)早于本规则,
|
||||
# 靠「已跟踪文件不受 .gitignore 影响」保留——这是有意的,不要「修」。
|
||||
third_party/homeagent-sdk/bin/
|
||||
third_party/homeagent-sdk/tools/
|
||||
third_party/homeagent-sdk/package/
|
||||
@ -36,10 +40,15 @@ third_party/homeagent-sdk/example/
|
||||
codegraph.json
|
||||
|
||||
# 运行时产物(不提交)
|
||||
#
|
||||
# ⚠️ 这些必须带前导斜杠。不带斜杠的模式(如 `memory/`)会匹配**任意层级**的
|
||||
# 同名目录,把 internal/memory/、internal/knowledge/、deploy/scripts/ 一起吞掉
|
||||
# ——24 + 3 + 1 个已跟踪源码文件曾因此落在 ignore 规则下,只靠「已跟踪
|
||||
# 文件不受 .gitignore 影响」这条 git 规则兜着,新增文件会默默不入库。
|
||||
/adapters/
|
||||
knowledge/
|
||||
memory/
|
||||
scripts/
|
||||
/knowledge/
|
||||
/memory/
|
||||
/scripts/
|
||||
terminal_locked_log.txt
|
||||
|
||||
dist/
|
||||
|
||||
Reference in New Issue
Block a user