用途:在本地维护开发文档,同时确保 docs/ 目录绝不进入 main 分支的 Git 历史。适用于需要在本地参考文档进行开发、但不希望文档污染主干历史的场景。
主要能力:创建孤立文档分支(orphan)、安全提取文档、分支合并防护、文档隔离验证。核心机制是 docs 分支与 main 无共同祖先,误 merge 会立即报错;功能分支用 git archive 临时获取文档,并把 docs/ 加入 .git/info/exclude 防止误提交。
首次设置:先确认 main 干净,git checkout main、git status、git log main -- docs/(返回空即干净);然后执行 git checkout --orphan docs、git rm -rf .、mkdir docs 并写入文档、git add docs/、git commit -m "chore(docs): init",最后 git checkout main 确认 docs/ 不存在。
日常使用:git checkout -b feat-xxx;git archive docs docs/ | tar -x -C .;echo "docs/" >> .git/info/exclude;开发后 git add src/ 并提交(避免 git add .,或提交前 git reset docs/),再合并回 main 并 rm -rf docs/ 清理临时拷贝。
验证:git log main -- docs/ 返回空说明 main 干净;git merge-base main docs 应返回空,证明无共同祖先。
限制与注意:不要在 main 上创建过 docs/ 再删除,那仍会留在历史中;若项目早期已在 main 提交过 docs/,建议用 git filter-repo 彻底清除历史;应定期验证 main 分支干净性。
资源索引:references/git-commands.md(需要具体命令语法时读取)、references/branch-strategy.md(需要理解策略原理时读取)。