Git 使用教程笔记
核心模型:工作区(项目文件夹)→
git add→ 暂存区 →git commit→ 本地版本库✅ 重点:
commit仅保存在本机,不会自动上传到网络
一、前置检查:确认Git安装
打开 PowerShell 执行
powershell
git --version
- 输出版本号(
git version 2.xx.x):正常可用 - 提示找不到命令:需要安装 Git for Windows,安装选项默认即可
二、进入目标项目目录
powershell
Set-Location -LiteralPath D:\LLM\RentalMind
# 简写等价:cd D:\LLM\RentalMind
含义:切换到指定项目文件夹,相当于鼠标双击打开文件夹
校验当前位置:
powershell
Get-Location
# 简写等价:pwd
成功会输出:D:\LLM\RentalMind
💡 所有git命令,只对当前所在目录生效
三、配置忽略文件 .gitignore(非常优先!先建,再add)
作用:告诉Git哪些文件/文件夹不要纳入版本跟踪,不会加入快照
powershell
notepad .gitignore
粘贴规则示例:
.venv/
models/
.env
.env.*
!.env.example
__pycache__/
*.pyc
.pytest_cache/
evaluation/.e2a_runtime/
evaluation/.e2b_runtime/
data/chroma/
规则说明:
文件夹名/:忽略整个文件夹*.pyc:匹配所有后缀pyc的文件.env/.env.*:忽略密钥配置文件(防止密钥提交泄露)!.env.example:!代表例外,模板文件保留提交(里面不放真实密钥)
⚠️ 重要:
.gitignore只对还没被Git追踪的文件生效;它不会删除你电脑本地文件
四、初始化本地Git仓库
powershell
git init -b main
git init:在当前文件夹创建Git仓库,生成隐藏的.git文件夹(Git数据库,存放全部版本历史,不要手动修改/删除)-b main:指定默认主分支名字为main
老版本Git不支持
-b main时,改用两条命令:
powershell
git init
git branch -M main
五、查看仓库状态(高频命令,推荐经常看)
powershell
git status
常见状态说明:
On branch main:当前在main分支No commits yet:还没有创建任何版本快照Untracked files:文件存在,Git看见了,但还没有纳入跟踪Changes to be committed:文件已经进入暂存区,等待commit保存版本
✅ 校验标准:写在 .gitignore 里的文件,不应该出现在列表中
六、加入暂存区(git add)
powershell
# 当前目录全部文件加入暂存(.gitignore里面的会自动跳过)
git add .
.代表当前目录+所有子目录
注意:add 只是放到暂存区(准备清单),还没有生成版本,没有上传
撤销暂存(从清单拿出来,不删除本地文件)
powershell
# 单独把某个文件移出暂存
git restore --staged .env
# 清空整个暂存区
git restore --staged .
七、配置提交者信息(仓库内有效)
Git每条提交记录需要标记作者,仅存在本地,不会发邮件、联网
powershell
git config user.name "你的名字"
git config user.email "xxx@shturl."
后续要推送到GitHub时,改成GitHub对应的用户名邮箱即可
八、生成版本快照(commit)
powershell
git commit -m "baseline: 项目初始基线版本"
-m "文字":填写本次修改备注,写清楚改动内容,方便以后回溯
成功提示里一串字母数字,是这个版本的唯一ID
九、校验提交结果
powershell
# 查看最近1条提交记录
git log --oneline -1
# 再次检查状态
git status
出现 nothing to commit, working tree clean → 当前所有改动都已经保存,工作区干净
⭐十、日常开发修改标准流程
- 修改前,先看状态
powershell
git status
- 修改代码后,查看改了哪些内容
powershell
git diff
- 选择性加入暂存(推荐尽量不要无脑
git add .)
powershell
# 单个文件
git add agents/tools.py
# 多个文件空格隔开
git add agents/tools.py memory/episodic_store.py
- 检查确认
powershell
git status
- 提交版本,备注规范示例
powershell
git commit -m "fix: 修复xxxbug"
git commit -m "feat: 新增xx功能"
git commit -m "test: 新增xx测试用例"
⭐十一、分支基础(隔离实验、保护主线main)
原则:小改动、稳的修改可以直接在main分支;POC、不确定的实验、风险大的改动,新开分支
powershell
# 新建分支,并且直接切换进去(-b = 创建分支branch)
git checkout -b poc-new-agg
等价分开写法:
powershell
git branch poc-new-agg
git checkout poc-new-agg
- 实验成功:切回main,合并分支
powershell
git checkout main
git merge poc-new-agg
- 实验失败,直接丢弃分支,main完全不受影响
powershell
git checkout main
git branch -D poc-new-agg
新版Git推荐语义更清晰的switch写法,效果一致
powershell
git switch -c poc-new-agg
-c = create 创建
十二、补充:Git不保存的东西
Git只管理源码、脚本、配置模板、标注数据等文本代码类快照。
不会保存:大模型权重、虚拟环境、向量库缓存、容器运行状态、密码密钥。
如果想要整机备份,在Git之外,直接复制整个项目文件夹做备份。
十三、核心易错点总结
git init一个项目只执行一次,重复init会破坏仓库.gitignore要在add之前建好,已经被追踪的文件,ignore拦不住commit≠ 上传;上传远程仓库需要额外git push(本笔记为本地版本管理)- 分支最大价值:实验翻车不会污染main主线,历史记录干净,改动互相隔离
git restore --staged只取消暂存,不会删除本地文件