SUBMODULE_GUIDE - cso1z/Feishu-MCP GitHub Wiki

Git 子模块使用指南

本项目将 GitHub Wiki 仓库 (https://github.com/cso1z/Feishu-MCP.wiki.git) 作为 Git 子模块管理,位于 doc/wiki-repo 目录。

📦 子模块的优势

  1. 版本控制:Wiki 内容作为项目的一部分进行版本管理
  2. 同步便捷:可以直接在项目中编辑 Wiki 源文件,然后同步到 GitHub Wiki
  3. 协作友好:团队成员可以克隆项目时同时获取 Wiki 内容

🔧 常用操作

首次克隆项目(包含子模块)

# 递归克隆(推荐)
git clone --recurse-submodules https://github.com/cso1z/Feishu-MCP.git

# 或者分步操作
git clone https://github.com/cso1z/Feishu-MCP.git
cd Feishu-MCP
git submodule init
git submodule update

更新子模块

# 进入子模块目录并更新
cd doc/wiki-repo
git pull origin master

# 或者从主项目更新所有子模块
git submodule update --remote --merge

更新 Wiki 内容

  1. 编辑源文件:在 doc/wiki/ 目录下编辑文件
  2. 运行同步脚本:执行 .\scripts\setup-github-wiki.ps1
  3. 提交子模块更改
    cd doc/wiki-repo
    git add .
    git commit -m "docs: 更新 Wiki 文档"
    git push origin master
    
  4. 提交主项目更改(如果需要):
    cd ../..
    git add doc/wiki-repo
    git commit -m "docs: 更新 Wiki 子模块"
    git push origin main
    

查看子模块状态

# 查看所有子模块状态
git submodule status

# 查看子模块详细信息
git submodule status doc/wiki-repo

进入子模块

# 方法一:直接进入目录
cd doc/wiki-repo

# 方法二:使用 git 命令(会自动初始化)
git submodule update --init
cd doc/wiki-repo

⚠️ 注意事项

  1. 不要直接编辑 doc/wiki-repo:这些文件会被脚本自动生成
  2. 编辑源文件:在 doc/wiki/ 目录下编辑源文件
  3. 使用脚本同步:运行 .\scripts\setup-github-wiki.ps1 来同步更改
  4. 提交顺序:先提交子模块的更改,再提交主项目的更改

🔄 工作流程

编辑源文件 (doc/wiki/)
    ↓
运行同步脚本 (scripts/setup-github-wiki.ps1)
    ↓
检查更改 (cd doc/wiki-repo && git status)
    ↓
提交子模块 (git add . && git commit && git push)
    ↓
返回主项目 (cd ../..)
    ↓
提交主项目(可选)(git add doc/wiki-repo && git commit)

🐛 故障排查

子模块显示为空

# 初始化并更新子模块
git submodule init
git submodule update

子模块未更新

# 强制更新
git submodule update --remote --merge --force

删除子模块(如需要)

# 1. 删除子模块配置
git submodule deinit doc/wiki-repo
git rm doc/wiki-repo

# 2. 删除 .gitmodules 中的相关条目
# 手动编辑 .gitmodules 文件

# 3. 删除 .git/config 中的相关条目
# 手动编辑 .git/config 文件

# 4. 删除子模块目录
rm -rf .git/modules/doc/wiki-repo
rm -rf doc/wiki-repo

提示:建议定期运行 git submodule update --remote 来获取 Wiki 的最新更改。