计算机视觉科研 Git 实操命令手册:从建仓到论文复现的一套命令流
摘要
上一篇偏方法论,这一篇只讲可直接复制的 Git 命令模板:分支管理、子模块、版本冻结、回滚排障与论文复现发布流程。
计算机视觉科研 Git 实操命令手册:从建仓到论文复现的一套命令流
上一篇讲了策略,这一篇只做一件事:给你一套可以直接复制的命令流。
适用场景:CV 科研项目,包含数据处理、训练、评估、部署等多个模块,需要多人协作并保证复现。
0. 一次性初始化(新项目)
1. 分支工作流(轻量版,科研够用)
目标:main 永远可运行,实验在 exp/* 分支完成。
建议:每个实验分支只做一个主题,不要把数据清洗改动和模型结构改动混在一起。
2. 提交规范模板(直接抄)
高频原则:
一个 commit 只做一件事
commit message 必须说明“改动目的”
能复现主结论的关键改动要单独 commit
3. 子模块管理(多仓库协作最常见)
当你把 train-engine、model-zoo 拆成独立仓库时:
更新子模块到新版本:
团队最低规范:
子模块只指向确定 commit/tag
禁止直接依赖子模块
main浮动头更新子模块后必须在主仓库提交一次“指针更新”
4. 版本冻结(投稿前必须做)
先生成 versions.lock(可手工或脚本):
为论文结果打 tag:
5. 实验登记(强烈建议自动化)
在 experiments/registry.md 或 registry.csv 记录:
exp_idgit_commitconfig_pathdata_manifestpretrain_hashseedresult
快速记录当前 commit:
把它写进实验记录(示例):
6. 常用排障命令(救命清单)
1) 我到底改了什么?
2) 谁改坏了评估脚本?
3) 想临时回到某次提交验证结果
4) 回滚一个错误提交(团队协作推荐)
注意:协作分支上优先 revert,少用改写历史的操作。
7. 复现发布脚本(最小可用)
你可以准备一个 scripts/reproduce_paper.sh:
并给执行权限:
8. 团队协作“禁令”清单
下面三条能让大多数仓库灾难减少 80%:
禁止把数据集和大权重直接提交到 Git 主仓库
禁止在
main直接开发禁止“改了评估逻辑但不写说明”
结尾:一条最小落地路径
如果你今天就要把项目从“能跑”升级到“能复现”,按这个顺序做:
建立
exp/*分支开发习惯对论文里程碑打 tag
维护
versions.lock+experiments/registry准备
reproduce_paper.sh
做到这四步,你的 CV 科研项目就具备了工程级版本管理能力。
相关文章
暂无相关文章
