本文档面向团队成员,介绍如何从实验室 GitHub 仓库 fork 代码、在本地 VSCode 开发、保持同步、并提交 Pull Request 的标准流程。
- 在浏览器打开实验室 GitHub 仓库页面
- 点击右上角 Fork 按钮
- Owner 选择你自己的 GitHub 账号
- 点击 Create fork
完成后你会在 https://github.com/<你的用户名>/<仓库名> 看到自己的 fork。
cd ~/work
git clone git@github.com:<你的用户名>/<仓库名>.git
cd <仓库名>如果还没配置 SSH Key,先用
git clone https://github.com/<你的用户名>/<仓库名>.git
git remote add upstream git@github.com:<实验室组织>/<仓库名>.git
git remote -v输出应显示两个远程:
origin git@github.com:<你的用户名>/<仓库名>.git (fetch)
origin git@github.com:<你的用户名>/<仓库名>.git (push)
upstream git@github.com:<实验室组织>/<仓库名>.git (fetch)
upstream git@github.com:<实验室组织>/<仓库名>.git (push)
origin指向你自己的 fork,你有推送权限upstream指向实验室仓库,拉取最新代码用
- 安装 GitLens 和 GitHub Pull Requests 扩展
- 在 VSCode 左下角确认当前分支显示正确
- 在 Settings 中启用
git.autofetch,VSCode 会定时自动拉取远程更新
每次开始新功能前,先把实验室仓库的最新代码拉到本地:
git checkout main
git fetch upstream
git merge upstream/main
git push origin main如果团队使用
master分支,把命令中的main替换为master。
永远不要在 main 分支上直接修改。 每项改动都从 main 拉出新分支:
git checkout main
git checkout -b feature/<简短描述>命名示例:feature/formation-velocity-fix、fix/sitl-thread-timeout、doc/update-readme
在 VSCode 中进行代码修改,然后用 Source Control 面板(Ctrl+Shift+G)或命令行提交:
git add <改动的文件>
git commit -m "fix: 修复编队节点速度兜底逻辑"Commit message 规范(参考 Conventional Commits):
| 前缀 | 用途 |
|---|---|
feat: |
新功能 |
fix: |
修复 bug |
doc: |
文档变更 |
refactor: |
重构(不改变功能) |
test: |
测试相关 |
chore: |
构建/工具/依赖 |
git push origin feature/<简短描述>- 打开你自己的 fork 页面,GitHub 会提示 Compare & pull request,点击它
- 确认 base repository 是实验室仓库,head repository 是你的 fork
- 填写 PR 描述:
- 说明做了什么改动
- 为什么这么改
- 如何测试
- 点击 Create pull request
当实验室仓库有他人合并的 PR 后,你需要同步到自己的 fork:
git checkout main
git fetch upstream
git merge upstream/main
git push origin main然后把最新 main 合并到你的功能分支:
git checkout feature/<你的分支>
git merge main有冲突时在 VSCode 中解决。VSCode 会用颜色标记冲突区域,点击 Accept Current / Accept Incoming / Accept Both 即可选择保留哪边。
- 在本地功能分支上修改代码
git add/git commit提交新的改动git push origin feature/<你的分支>推送- PR 会自动更新,不需要关闭重建
不要因为 review 意见而
git push --force,除非已经和 Reviewer 确认过。
# 1. 同步上游
git checkout main
git fetch upstream
git merge upstream/main
git push origin main
# 2. 开分支
git checkout -b feature/my-change
# 3. 改代码 → 提交 → 推送
git add .
git commit -m "fix: 描述你的改动"
git push origin feature/my-change
# 4. 去 GitHub 页面创建 PR
# 5. 等 review → 修改 → 再 push → PR 自动更新-
Q: PR 合入后要删分支吗? A: 在 GitHub PR 页面点 "Delete branch" 按钮即可。本地用
git branch -d feature/xxx清理,然后git fetch upstream --prune清理远程引用。 -
Q: 怎么在命令行创建 PR? A: 安装 GitHub CLI 后使用
gh pr create。 -
Q: PR 改错分支了怎么办? A: 如果 PR 还没合入,可以在 GitHub PR 页面点 "Edit" 修改 base 分支。如果已经合入,联系管理员 revert。
-
Q: 多人同时改同一个文件冲突怎么办? A:
git merge main后在 VSCode 中逐处解决冲突,保证编译/运行通过后再 push。