目录

tianshu_cyberdog_ws —— 天枢 铁蛋比赛开发共享包

本仓库是小米铁蛋(Cyberdog)比赛二次开发的团队共享功能包仓库,只存放我们自己写的 ROS2 包(目前有 demo_tof)。 官方 SDK 代码不在本仓库——每位同事各自从官方 clone,本仓库只负责同步我们自己写的包。

  • 远程地址:https://gitlink.org.cn/Somebird/tianshu_cyberdog_ws.git
  • 默认分支:master

目标布局(同步完成后所有人都一样):cyberdog_ws/src/ 直接就是本仓库的工作区,我们的包在 cyberdog_ws/src/race/<包名>/


仓库约定(重要)

  • 我们自己写的包统一放在 race/ 目录下,例如 race/demo_tof/
  • .gitignore 配置为:只跟踪 race/README.md,其余(官方模块、build/install/log/ 等)一律忽略,不会入库。
  • 所以新增自己的包 → 直接放进 race/<包名>/ 即被自动跟踪,无需改 .gitignore

前置条件(每位同事自行准备)

  1. 已按官方《机器狗二次开发操作指南》clone 官方 cyberdog_ws 并执行 vcs import . < cyberdog.repos 展开源码(官方各模块在 cyberdog_ws/src/ 下)。
  2. 已配好 docker 编译镜像,能在容器内 colcon build
  3. 拥有本 gitlink 仓库的访问权限(能拉取/推送)。

同步方法(核心)

⚠️ 下方”首次同步”会把你 cyberdog_ws/src/官方的 .git 改名备份(删了也行),并让 src/ 变成本仓库的工作区。官方源码仍在 GitHub(MiRoboticsLab/cyberdog_ws)上,随时能重新 clone,所以挪走 .git 没有风险。官方各模块目录(bridges/motion/…)不受影响,继续留在 src/ 下供编译用。

1. 首次同步(让你的布局和仓库主人完全一致)

cyberdog_ws/src/ 目录下执行:

cd <你的路径>/cyberdog_ws/src

# (1) 把官方仓库改名备份(可还原)
mv .git .git.official.bak

# (2) 本仓库会带来自己的 .gitignore 和 README.md,
#     而官方这两个同名文件还在、会冲突——先改名备份:
mv .gitignore .gitignore.official.bak
mv README.md README.md.official.bak

# (3) 在 src/ 初始化本团队仓库并拉取
git init
git remote add origin https://gitlink.org.cn/Somebird/tianshu_cyberdog_ws.git
git fetch origin
git checkout -b master origin/master

完成后验证:

ls race/demo_tof/        # 应能看到 demo_tof 的 package.xml / CMakeLists.txt / src/
git status               # 应是干净状态(官方模块已被 .gitignore 忽略,不会出现)

此时你的 cyberdog_ws/src/ 结构:

cyberdog_ws/src/
├── .git/                         # ← 本团队仓库(不再是官方的)
├── .gitignore                    # ← 本仓库的白名单版本
├── README.md                     # ← 本说明
├── race/
│   └── demo_tof/                 # 我们的包
├── bridges/  manager/  motion/  sensors/ ...   # 官方模块(未跟踪,继续用于编译)
└── *.official.bak                # 各份备份,确认无误后可自行删除

备份文件(.git.official.bak 等)也被 .gitignore 忽略,不会进仓库;确认一切正常后可以删掉。

2. 之后拉取团队最新更新

cd <你的路径>/cyberdog_ws/src
git pull

如何贡献新包

  1. race/ 下新建包目录:race/my_pkg/(含 package.xmlCMakeLists.txt、源码)。
  2. 本地编译通过后提交:
cd <你的路径>/cyberdog_ws/src
git add -A
git status                 # 确认只有 race/my_pkg/ 被加入,没有官方代码
git commit -m "add my_pkg"
git push
  1. 其他同事 git pull 即可拿到。

提交前务必看一眼 git status:应该只出现 race/ 下的内容。若冒出官方模块或 build/install/log,说明 .gitignore 没生效,先别提交。


相关链接

关于
41.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号