Git 笔记

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

常见状态说明:

  1. On branch main:当前在main分支
  2. No commits yet:还没有创建任何版本快照
  3. Untracked files:文件存在,Git看见了,但还没有纳入跟踪
  4. 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 → 当前所有改动都已经保存,工作区干净

⭐十、日常开发修改标准流程

  1. 修改前,先看状态
powershell 复制代码
git status
  1. 修改代码后,查看改了哪些内容
powershell 复制代码
git diff
  1. 选择性加入暂存(推荐尽量不要无脑 git add .)
powershell 复制代码
# 单个文件
git add agents/tools.py
# 多个文件空格隔开
git add agents/tools.py memory/episodic_store.py
  1. 检查确认
powershell 复制代码
git status
  1. 提交版本,备注规范示例
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之外,直接复制整个项目文件夹做备份。

十三、核心易错点总结

  1. git init 一个项目只执行一次,重复init会破坏仓库
  2. .gitignore 要在add之前建好,已经被追踪的文件,ignore拦不住
  3. commit ≠ 上传;上传远程仓库需要额外 git push(本笔记为本地版本管理)
  4. 分支最大价值:实验翻车不会污染main主线,历史记录干净,改动互相隔离
  5. git restore --staged 只取消暂存,不会删除本地文件
相关推荐
yi0111 小时前
DAY28: LeetCode 111. 二叉树的最小深度
人工智能·笔记·python·算法·leetcode·二叉树·递归
解道Jdon2 小时前
FigCraft把Figma用Rust从零重写了一遍
ide·windows·git·svn·eclipse·github·visual studio
xxwl5852 小时前
三、区域赛算法模版第三章---字符串相关算法
笔记·学习·算法
卿卿的产品经理日记2 小时前
【AI产品经理实战】Day 37|拆开 JSON 与 EXE:数据都有格式
人工智能·笔记·python·json·产品经理
wdfk_prog2 小时前
LWIP教程 15:IPv4 与 IPv6——从网络层工作原理到嵌入式工程取舍
运维·开发语言·网络·笔记·学习·智能路由器·ip
坤坤子吖3 小时前
Linux 进程信号入门——从 Ctrl+C 到 kill
linux·开发语言·c++·笔记·学习
LONGZHIQIN3 小时前
Python学习笔记
笔记·python·学习
hgfsjk3 小时前
Temu Y2 利润计算器:从定价公式到店铺利润落地
大数据·经验分享·笔记·其他
橙橙笔记3 小时前
QT安卓软件的制作
android·git·qt·软件