本章记录git的学习与巩固,包含基础架构、层级、本地git上传、常见指令(六个常场景)
git架构

核心层级
1、工作区 :你本地电脑上编辑代码 / 文件的文件夹(看得见、能直接修改的地方);
2、暂存区 :工作区和本地仓库之间的过渡区(也叫索引区),本质是 .git/index 文件(记录待提交的文件列表);
3、本地仓库 :隐藏在工作区 .git 文件夹里的核心区域,存储所有 commit 快照、分支、历史记录;
4、远程仓库:托管在服务器上的仓库(如 GitHub/GitLab/Gitee),用于多人协作同步代码
git 的底层核心组件(了解)
1、对象库
存储所有版本数据的核心,包括 4 种对象:
Blob 对象:存储文件内容(只存内容,不存文件名);
Tree 对象:存储目录结构(记录文件名和对应的 Blob/Tree 对象);
Commit 对象:存储版本快照(关联 Tree 对象、父 commit、作者、提交信息等);
Tag 对象:标记重要的 commit(如发布版本 v1.0);
2、引用
简化对 commit hash 的记忆,比如:
refs/heads/master:指向 master 分支的最新 commit;
refs/tags/v1.0:指向标签 v1.0 对应的 commit;
HEAD:指向当前所在的分支
3、配置文件
存储 Git 的全局 / 本地配置
~/.gitconfig:全局配置(git config --global 修改);
.git/config:本地仓库配置(git config 不加 --global 修改)。
从本地代码git代码到仓库
基础操作-创建与上传

本地文件夹右击选择

依次输入
powershell
echo "# (仓库名)" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin (刚创建的仓库地址...git)
git push -u origin main
场景异常
1、拉取他人项目无法git到自己仓库 :将项目文件夹下的.gi文件删掉,重新git init
2、文件过大时终止 : 分批上传
powershell
# 1. 第一步:添加并提交小文件(提交到本地仓库)
git add 小文件1.txt 小文件2.md # 只添加小文件
git commit -m "提交第一批小文件"
git push -u origin master # 推送这批已提交的内容
# 2. 第二步:继续添加并提交下一批文件(无需清空暂存区)
git add 小文件3.py 目录名/ # 添加下一批文件
git commit -m "提交第二批小文件"
git push origin master # 直接推送,暂存区无需处理
3、找不到远程地址
git remote add origin (刚创建的仓库地址...git) ,这里将http...前的空格手动删去再添加(目前我遇到的是这么解决的)
常见指令与含义
一、仓库初始化与基础配置(建仓 / 关联)
powershell
# 初始化本地 Git 仓库(生成 .git 目录)
git init
# 克隆远程仓库
git clone <地址>
# 关联远程仓库
git remote add <名称> <地址>
# 查看远程仓库关联信息(验证是否配置正确)
git remote -v
# 移除远程仓库关联
git remote remove <名称>
二、日常开发核心指令(修改 / 提交 / 推送)
powershell
# 查看仓库状态
git status
# 暂存
# 添加 src 目录下所有文件(包括子目录)、*.py 到暂存区
git add src/ *.py
# 最常用:添加当前目录下所有修改/新增的文件(排除 .gitignore 忽略的)到暂存区
git add .
# 提交
# 1. 最基础用法:提交暂存区的内容,会弹出编辑器让你写提交说明
git commit
# 2. 推荐用法:直接在命令行写提交说明(-m = message)
# -m 后的字符串可一样,对哈希值不影响,但对于项目管理不友好
git commit -m "修复登录按钮样式问题"
# 3. 跳过暂存区:直接提交工作区的修改(适合少量修改)
git commit -am "更新用户列表接口"
# 推送与拉取
# 推送本地提交到远程仓库,首次必须添加 <远程名> <分支名> ,后续直接git push
git push [-u] <远程名> <分支名>
# 拉取远程仓库最新内容并合并到本地
git pull
三、分支管理
分支是 Git 核心能力,用于隔离功能开发 / 修复 Bug,避免影响主分支。
powershell
# 查看分支
git branch
# 创建分支
git branch <分支名>
# 删除本地已合并的分支
git branch -d <分支名>
# 切换到指定分支
git checkout <分支名>
# 创建并切换到新分支(常用)
git checkout -b <分支名>
# 合并指定分支到当前分支
git merge <分支名>
# 删除远程分支
git push origin --delete <分支名>
四、版本回溯与撤销(改错 / 回滚)
powershell
# 查看提交历史(哈希值 / 作者 / 时间 / 说明)
git log
# 回滚到指定版本(清空工作区 / 暂存区修改)
git reset --hard <提交哈希>
# 撤销暂存区的文件(保留工作区修改)
git reset HEAD <文件>
# 撤销工作区的修改(恢复到最近提交状态)
git checkout -- <文件>
# 撤销指定提交(生成新提交,保留历史)
git revert <提交哈希>
五、仓库清理与优化
释放空间 / 解决大文件
powershell
# 清理 Git 垃圾对象(释放磁盘空间)
git gc --prune=now
# 删除未被追踪的临时文件 / 缓存,谨慎!会删除未 add 的文件
git clean -fdx
# 初始化 Git LFS(管理大文件),首次使用 LFS 需执行
git lfs install
# 追踪大文件类型
git lfs track <文件类型>
# 清空 Git LFS 本地缓存
git lfs prune
六、协作常用指令
powershell
# 拉取远程分支信息(不合并,仅同步)
git fetch
# 对比两个分支的差异
git diff <分支1> <分支2>
# 暂存当前修改
git stash
# 恢复暂存的修改
git stash pop