🚀 Git 小白使用说明:从入门到规范
第一部分:基础设置与安全原则
| 步骤/原则 |
核心目标 |
详细说明与 PyCharm 操作 |
| 1. 安装与全局身份 |
确保 Git 正常运行并知道“您是谁”。 |
操作: 在 PyCharm 设置中检查 Git 路径。 提交细节: 第一次提交时,勾选 "Set properties globally" 设置姓名和邮箱,一劳永逸。 |
2. .gitignore 原则 |
确保仓库干净,只提交源码。 |
原则: 绝对不提交生成的文件(.pyc, .log)、大型数据/模型文件(.h5, .pth)、IDE配置(.idea/)、虚拟环境(venv/)。 操作: 在项目根目录创建 .gitignore 文件,使用相对路径排除。 |
| 3. 本地化原则 |
确保代码安全和隐私。 |
安全: 不执行 git push,代码就永远只在您的本地电脑上。 |
第二部分:日常 Git 流程(三板斧)
Git 的本地操作围绕三个核心命令:add(暂存)、commit(提交)、log(查看)。
| 步骤 |
Git 概念 |
PyCharm 操作 |
细节与规范 |
| A. 初始化 |
git init |
VCS (或 Git) -> Enable Version Control Integration... |
在项目根目录生成 .git 文件夹,启用版本控制。 |
| B. 暂存/提交 |
git add . + git commit |
Ctrl + K (或 ⌘K) 打开提交窗口。 |
细节: 提交前,只勾选与本次逻辑变更相关的文件,实现“原子化提交”。 |
| C. 查看历史 |
git log |
点击 PyCharm 底部 Git -> 选择 Log 选项卡。 |
查看 HEAD (您当前位置) 和 master (主线) 的历史记录。 |
第三部分:分支管理与规范
分支是 Git 的灵魂,用于安全地开发新功能。
1. 分支的命名规范(Branch Naming)
分支命名应遵循 类型/描述 结构,以提高可读性和专业性。
| 分支类型 |
目的 |
推荐命名格式 |
示例 |
| 新功能 |
实现新功能或大块的重构。 |
feature/简短描述 |
feature/parallel_data_loading |
| Bug 修复 |
修复已知的 Bug。 |
bugfix/简短描述 |
bugfix/config_read_error |
| 主线/稳定 |
生产环境代码,保持绝对稳定。 |
master 或 main |
不在该分支上直接开发。 |
2. 分支的日常操作
| 动作 |
PyCharm 操作 |
细节与原则 |
| 创建/切换 |
点击右下角 Git: master -> New Branch... |
原则: 永远在 master 上创建新分支。 |
| 代码隔离 |
在新分支上自由修改、提交。 |
原则: 所有测试、Bug、失败的尝试都只留在这个分支上,不污染 master。 |
| 切换保存 |
尝试切换分支时,PyCharm 提示 "Smart Checkout"。 |
细节: 如果有未提交的修改,PyCharm 会自动帮您 Stash (暂存) 或 Commit 这些修改。选择 Smart Checkout 即可。 |
| 合并代码 |
切换回 master -> 点击右下角分支菜单 -> 找到功能分支 -> Merge into Current。 |
原则: 只有在新分支功能完全实现并通过测试后,才能合并到 master。 |
第四部分:Commit Message 提交信息规范
清晰的提交信息让 Git Log 成为项目最好的文档。推荐使用 Angular 规范,格式为:类型(模块): 简短描述。
| 类型(Type) |
描述 |
示例 |
| feat |
新功能 (Feature) |
feat(Processor): Add initial structure for parallel computation |
| fix |
Bug 修复 |
fix: Resolve infinite loop in data_loader function |
| docs |
文档更新 (README, Docstring) |
docs: Update README with project structure overview |
| chore |
维护任务 (不涉及代码或文档) |
chore: Add pandas to requirements.txt |
| refactor |
代码重构 (不改变外部功能) |
refactor(Utils): Clean up deprecated calculation method |
| WIP |
工作进行中 (Work In Progress) |
WIP: Saving current state before lunch break (仅用于本地暂存) |
总结:您自己的 Git 开发流程
- 从
master 分支,创建新分支:feature/xxx。
- 在新分支上,进行 小且原子化 的提交(频繁使用
feat: 和 fix:)。
- 完成后,切换回
master。
- 将
feature/xxx 合并 (Merge) 到 master。
- 删除功能分支。