Git 常用指令总结(工程实战版)
适用于:个人项目 / 产品型项目 / ML 项目
核心目标:规范开发流程 + 版本管理 + 分支管理
一、初始化与远程仓库
1. 初始化仓库
bash
git init
初始化当前目录为 Git 仓库。
2. 配置用户名邮箱
bash
git config --global user.name "YLERS"
git config --global user.email "xxx@qq.com"
说明:
- 仅影响提交记录中的作者信息
- 不等于登录账号
3. 添加远程仓库
bash
git remote add origin https://gitee.com/YLERS/mlapp.git
4. 查看远程仓库
bash
git remote -v
5. 修改远程仓库地址
bash
git remote set-url origin 新地址
6. 删除远程分支
bash
git push origin --delete master
二、日常开发核心流程(最常用)
开发标准流程
bash
git status
git add -A
git commit -m "feat: xxx"
git push
含义说明
| 命令 | 作用 |
|---|---|
| git status | 查看当前修改 |
| git add | 添加到暂存区 |
| git commit | 生成提交记录 |
| git push | 推送到远程 |
查看改动
bash
git diff
三、分支管理
1. 查看分支
bash
git branch
git branch -a
2. 创建并切换分支
bash
git checkout -b dev
3. 切换分支
bash
git checkout main
4. 删除本地分支
bash
git branch -d feature/xxx
5. 删除远程分支
bash
git push origin --delete feature/xxx
6. 合并分支
bash
git checkout main
git merge dev
四、标签(版本管理)
1. 创建标签(推荐带注释)
bash
git tag -a v1.1.0 -m "release v1.1.0 startup page"
2. 查看标签
bash
git tag
3. 推送标签
bash
git push origin v1.1.0
或
bash
git push origin --tags
4. 删除标签
bash
git tag -d v1.0.1
git push origin :refs/tags/v1.0.1
五、查看历史
简洁模式
bash
git log --oneline
图形模式(强烈推荐)
bash
git log --oneline --decorate --graph --all
六、stash(临时保存修改)
当你需要切分支但当前有未提交修改:
bash
git stash
git checkout main
git stash pop
七、.gitignore 使用
常见 Python / ML 项目忽略规则
__pycache__/
*.pyc
*.pyo
*.pth
*.pt
*.onnx
runs/
wandb/
dist/
build/
.vscode/
删除已提交但应忽略的文件
bash
git rm -r --cached __pycache__
git commit -m "chore: remove cache files"
git push
注意:
.gitignore只影响未来提交,不会自动清理历史。
八、拉取与克隆
克隆仓库
bash
git clone https://gitee.com/YLERS/mlapp.git
拉取更新
bash
git pull
推荐:
bash
git pull --rebase
九、推荐分支结构(工程规范)
main # 稳定发布
dev # 日常开发
feature/* # 新功能
fix/* # 修复
hotfix/* # 紧急修复
exp/* # 实验
十、推荐提交规范(Conventional Commits)
feat: 新功能
fix: 修复 bug
refactor: 重构
perf: 性能优化
docs: 文档
build: 构建相关
chore: 杂项
示例:
bash
feat(ui): add startup page
fix(infer): resolve camera crash
chore: update gitignore
十一、推荐发布流程
bash
git checkout main
git merge dev
git push
git tag -a v1.1.0 -m "release"
git push origin v1.1.0
十二、Git 核心概念(必须理解)
- commit = 提交节点
- branch = 指向某个 commit 的指针
- tag = 固定版本快照
- HEAD = 当前所在位置
核心总结
Git 管理的不是文件版本,而是"提交历史结构"。