ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Git入门-项目版本管理教程

Git入门-项目版本管理教程 Git 入门用版本管理拯救你的实验代码面向深度学习小白本文面向刚接触 Git 的同学。以YOLO 目标检测项目为例子把git init→add→commit→tag走通并重点讲清什么文件不能提交尤其是数据集。全程命令可直接复制跟着敲就能用。一、为什么要学 Git做深度学习实验最痛的几件事改了模型结构跑挂了想回到昨天还能跑的版本 ——没有 Git只能靠复制文件夹backup_final_final2调参 20 轮忘了哪版指标最好 ——Git 的 tag 能给你每个版本打标签想把代码发博客 / 交作业 / 协作 ——Git 是事实标准一句话Git 给你的代码拍快照随时能回滚、能对比、能标记里程碑。二、第一步初始化仓库git init进入你的项目目录初始化cdC:\Users\YOLOv8gitinit执行后目录里会出现一个隐藏的.git文件夹里面存着所有版本历史。这一步只做一次。提醒路径里最好别有中文虽然新版 Git 支持但有些旧工具会乱码。三、第二步添加文件git addGit 是先暂存、再提交。git add就是把文件放进待提交区。1. 添加单个文件gitaddtrain.py只把train.py一个文件加入暂存区。2. 添加所有变动新建 / 修改 / 删除gitadd-Agit add -A等于git add --all会一次性把新建的文件修改过的文件删除的文件全部加入暂存区。日常最常用的就是它。另一个常见写法是git add .它和-A大部分情况一样但在删除文件的处理上略有差异。新手无脑用git add -A最稳。四、第三步提交存档git commit暂存区准备好了就提交成一个版本gitcommit-mV1: 新版本-m后面是本次提交的说明叫 commit message。一定要写清楚这次改了啥比如gitcommit-mfeat: 加入 插件gitcommit-mfix: 修复 v8s 训练 workers 导致页面文件不足好的提交信息 半年后你还看得懂当时干了啥。五、第四步打标签git tag当你觉得这个版本很关键比如 baseline 跑通了打个标签固定下来gittag v1-mV1 基线版本v1是标签名一般v1/v2/v1.0这种-m后面是标签说明查看所有标签gittag标签和 commit 的区别commit 是一连串快照标签是给其中某一个起个好记的名字比如这是基线。以后想回到基线git checkout v1。六、⚠️ 重点.gitignore什么不能传最容易踩的坑就是把数据集传进 Git。数据集特点体积巨大几个 G 起不常改动传到 Git 会让仓库臃肿到没法用所以要建一个.gitignore文件告诉 Git这些文件你当没看见。在项目根目录新建.gitignore内容示例# 数据集大不常更新单独管理 datasets/ data/raw/ *.zip *.tar.gz # 训练输出权重/曲线体积大 runs/ weights/ *.pt *.onnx *.engine *.torchscript # Python 缓存 / 虚拟环境 __pycache__/ *.pyc .venv/ venv/ env/ # 编辑器 / 系统 .vscode/ .idea/ .DS_Store Thumbs.db # 日志 *.log原则代码.py / .yaml进 Git数据、权重、环境、缓存不进 Git。数据集建议用网盘 / 对象存储单独管理仓库里只保留数据说明 划分脚本。把.gitignore自己也提交进去gitadd-Agitcommit-mchore: 添加 .gitignore排除数据集与权重七、完整工作流一次走通# 1. 初始化只做一次gitinit# 2. 先写好 .gitignore排除数据集/权重# 3. 写代码...# 4. 提交第一个版本gitadd-Agitcommit-mV1: 项目初始化baseline 跑通# 5. 打标签gittag v1-mV1 基线版本# 6. 继续改继续提交gitadd-Agitcommit-mfeat: 加入 GVC 模块# 7. 看历史gitlog--oneline八、常见坑速查现象原因 / 解决git commit后啥也没提交忘了git add暂存区是空的仓库好几百 MB把数据集/runs传进去了删掉并加.gitignore中文路径乱码尽量用英文目录名或升级 Git 到 2.40标签推不上去git tag只是本地远程要git push origin v1想反悔刚的提交git revert commit安全而非git reset --hard危险九、记忆口诀init 建仓库 → add 暂存 → commit 拍照 → tag 里程碑 代码进 Git数据权重靠 .gitignore 挡在门外参考资料Git 官方文档与日常实验工作流。文中命令在 Windows PowerShell / Git Bash 均可执行。
返回列表