当前位置: 首页 > news >正文

Git 小白使用说明

🚀 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
主线/稳定 生产环境代码,保持绝对稳定。 mastermain 不在该分支上直接开发。

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 开发流程

  1. master 分支,创建新分支:feature/xxx
  2. 在新分支上,进行 小且原子化 的提交(频繁使用 feat:fix:)。
  3. 完成后,切换回 master
  4. feature/xxx 合并 (Merge)master
  5. 删除功能分支。

http://www.jsqmd.com/news/46039/

相关文章:

  • docker nginx 和宿主机原生 nginx 服务的性能压测对比
  • kode-cli+glm4.6测评
  • UEFI - FV/FFS/FDF 的关系 - 阿源
  • 体验 Grok4.1
  • 预算管理不用愁 - 智慧园区
  • 2025半期游忌
  • Uni-App(Vue3 + TypeScript)方案结构详解 ------ 以 Lighting-UniApp 为例,提供源代码
  • 第31天(简单题中等题 二分查找)
  • XHORSE XZBT40EN 4-Button Honda Civic 2016-2019 Special PCBs (5pcs/lot) for Reliable Key Fob Repairs
  • Java 和 Apache POI 处理 Excel 文件
  • rust第二篇:语法学习
  • 啊队队队第二次团队作业--原型设计+概要设计
  • IO 2024 Round 3(团体赛)Unofficial Mirror
  • 有志青年
  • python舆情分析可视化平台 情感分析 微博 爬虫 scrapy爬虫手艺 朴素贝叶斯分类算法大数据 计算机✅
  • 90%的OKR都写成了KPI?其实你缺的不是表格,而是教练
  • Python thread lambda run multiple functions
  • 我为什么要学MCP?
  • storybook 和 vitepress选哪个作为组件文档站点更合适
  • csp-s 2025 随笔
  • wps禁止更新
  • 消费电子的可创作内容已经不属于可持续性竭泽而渔
  • 内网穿透配置和使用 - Rainbow
  • Swift 快速上手
  • [ARC195D] Swap and Erase 分析
  • 20251118 正睿
  • 13. Spring AI 的观测性 - Rainbow
  • Elasticsearch8.4.1升级Elasticsearch9.1.5 - 实践
  • 为什么大型炼钢厂(宝武、鞍钢、首钢等)都离不开时序数据库?
  • 第一次随笔测试