Git 完整版学习笔记
2026/6/26 2:27:12 网站建设 项目流程

前言

本文为全网最实用的系统化 Git 学习笔记,摒弃晦涩理论,全部以「工作实战」为核心,包含:Git 底层原理、工作区/暂存区/本地仓库/远程仓库完整机制、全套高频命令分类、分支管理、合并冲突、回滚撤销、远程协作、Git Flow 工作流、面试必考知识点、常见报错解决方案。

适合:零基础入门、日常开发查阅、面试突击、团队协作规范落地。

第一章 Git 核心概念与底层原理(必须看懂)

1.1 什么是 Git?

Git 是一款分布式版本控制系统

核心作用:追踪代码变更、保存历史版本、多人协作、随时回退、分支并行开发

和 SVN 的最大区别:

  • SVN:集中式—— 依赖中央服务器,断网无法提交、无法查看历史

  • Git:分布式—— 每个人本地都是完整仓库,断网可开发、提交、分支切换,联网后同步即可

1.2 Git 四大核心区域(重中之重)

所有 Git 命令本质都是文件在四个区域之间流动

  1. 工作区(Working Directory):你电脑真实看到的代码文件

  2. 暂存区(Stage / Index):临时存放即将提交的修改(中转站)

  3. 本地仓库(Local Repo):.git 文件夹,永久保存版本快照

  4. 远程仓库(Remote Repo):GitHub / Gitee / GitLab 云端仓库

文件流转逻辑

工作区 →git add→ 暂存区 →git commit→ 本地仓库 →git push→ 远程仓库

1.3 Git 的三种文件状态

  • Untracked 未跟踪:新文件,Git 不管理

  • Modified 已修改:已跟踪文件,内容改动,未暂存

  • Staged 已暂存:已 add,等待 commit

1.4 快照机制(Git 核心原理)

Git不是保存差异,而是每次 commit保存一次完整文件快照

优势:回滚极速、分支切换极快、版本极其稳定。

第二章 Git 安装与全局初始化(第一次配置必看)

2.1 安装校验

安装完成后终端输入:

git --version

2.2 全局用户名邮箱(必须配置一次)

所有电脑仓库统一使用该身份:

git config --global user.name "你的用户名" git config --global user.email "你的邮箱"

查看配置:

git config --global --list

2.3 初始化本地仓库

git init

执行后生成隐藏文件夹.git,代表该目录被 Git 管理。

2.4 .gitignore 文件(企业必备)

作用:忽略不需要 Git 管理的文件

常见忽略内容:node_modules、dist、build、日志、缓存、环境变量、IDE 配置

标准通用模板:

# 依赖目录 node_modules/ venv/ .dist/ build/ ​ # 环境变量 .env .env.local ​ # 日志 *.log ​ # IDE 配置 .vscode/ .idea/ ​ # 系统文件 .DS_Store Thumbs.db

第三章 Git 基础核心命令(日常 90% 场景)

3.1 查看状态

git status # 详细状态 git status -s # 简洁状态(推荐)

3.2 暂存命令(add)

git add 文件名 # 单个文件暂存 git add . # 所有修改、新增文件暂存(不包含删除) git add -A # 全部变更(新增/修改/删除)暂存(最常用)

3.3 提交命令(commit)

git commit -m "feat: 新增用户登录功能"

规范提交格式(团队通用):

  • feat:新功能

  • fix:修复 bug

  • refactor:代码重构

  • docs:文档修改

  • style:格式调整

  • test:新增测试用例

  • chore:构建/依赖调整

3.4 查看日志

git log # 完整日志 git log --oneline # 简洁单行日志(最常用) git log --graph # 分支图形化日志 git log -n 3 # 最近3条记录

第四章 Git 撤销与回滚命令(工作最常用、最关键)

所有撤销场景全覆盖,直接对照使用

4.1 工作区修改撤销(未 add)

丢弃所有未暂存的修改,恢复成最近版本:

git checkout . # 新版推荐 git restore .

4.2 撤销暂存(已 add,未 commit)

git reset HEAD .

作用:文件从暂存区退回工作区,代码保留,只是取消暂存

4.3 撤销最近一次 commit(保留代码)

git reset --soft HEAD~1

场景:提交写错了、想重新整理提交

效果:版本回退上一版,代码不变,变回已修改状态

4.4 彻底回退版本(丢弃本地修改)

git reset --hard 版本号 git reset --hard HEAD~1 # 回退上一个版本

高危命令:会彻底删除本地变更,谨慎使用

4.5 修改上一次 commit 注释

git commit --amend

第五章 Git 分支全套命令(多人协作核心)

5.1 分支核心认知

  • main / master:主分支,线上稳定代码,禁止直接提交

  • develop:开发分支

  • feature/xxx:功能分支

  • fix/xxx:bug 修复分支

5.2 分支基础命令

git branch # 查看本地分支 git branch -a # 查看所有分支(包含远程) git branch 分支名 # 创建分支 git checkout 分支名 # 切换分支 git switch 分支名 # 新版切换分支 git checkout -b 分支名 # 创建并切换(最常用)

5.3 删除分支

git branch -d 分支名 # 安全删除(已合并) git branch -D 分支名 # 强制删除(未合并)

5.4 分支合并 merge

场景:把 feature 分支代码合并到 main

git checkout main git merge feature/xxx

5.5 分支合并 rebase(面试高频)

rebase:变基,整理提交记录,让分支提交线更干净

git checkout feature/xxx git rebase main

重要原则:公共分支绝对不要 rebase!只在自己私有分支使用

第六章 冲突解决(工作必备)

6.1 冲突产生原因

两个分支同一行代码被修改,Git 无法自动合并,需要人工处理。

6.2 冲突文件标识

  • <<<<< HEAD:当前分支代码

  • =======:分隔线

  • >>>>> 分支名:被合并分支代码

6.3 解决冲突标准流程

  1. 打开冲突文件,人工修改保留正确代码

  2. 删除所有冲突标记

  3. git add .

  4. git commit

第七章 远程仓库全套命令(GitHub/Gitee/GitLab)

7.1 关联远程仓库

git remote add origin 远程仓库地址

7.2 查看远程关联

git remote -v

7.3 推送代码

git push origin 分支名 git push -u origin 分支名 # 首次推送绑定上游分支 git push # 后续直接推送

7.4 拉取代码

git pull origin 分支名 git pull

7.5 克隆项目

git clone 仓库地址 git clone 仓库地址 自定义文件夹名

7.6 远程分支操作

git fetch origin # 拉取远程分支信息(不合并代码) git checkout 远程分支名 # 切换远程分支到本地 git push origin --delete 分支名 # 删除远程分支

第八章 Git 高级实用命令(提效神器)

8.1 储藏代码 stash(临时保存工作区)

场景:写到一半需要切分支,不想提交半成品代码

git stash # 临时储藏所有修改 git stash list # 查看储藏列表 git stash pop # 恢复最新储藏并删除 git stash apply # 恢复储藏不删除 git stash clear # 清空所有储藏

8.2 挑选合并 commit cherry-pick

把某个分支的某一条提交单独合并到当前分支

git cherry-pick 版本号

8.3 标签 tag(版本发布)

git tag v1.0.0 # 创建标签 git push origin v1.0.0 # 推送标签 git tag # 查看标签 git tag -d v1.0.0 # 删除本地标签 git push origin :v1.0.0 # 删除远程标签

第九章 企业标准 Git 工作流(GitFlow)

9.1 分支规范

  • main:线上稳定版本,永远可部署

  • develop:开发主分支,所有功能合并至此

  • feature/*:新功能分支,从 develop 拉出

  • fix/*:bug 修复分支

  • release/*:发布测试分支

9.2 标准开发流程

  1. 从 develop 拉取 feature 分支开发

  2. 开发完成合并回 develop

  3. 测试通过后合并到 main

  4. 打 tag 发布版本

第十章 高频报错与解决方案(实战避坑)

10.1 git push 报错:本地版本落后远程

解决方案:先拉再推

git pull

10.2 冲突太多不想手动解决

git merge --abort # 放弃本次合并

10.3 误操作需要找回删除的 commit

git reflog

找到历史版本号,reset 恢复即可

第十一章 超精简【日常开发命令速查表】(可直接收藏)

# 初始化 git init ​ # 日常提交三步 git add -A git commit -m "fix: 修复xx问题" git push ​ # 拉取最新代码 git pull ​ # 新建功能分支 git checkout -b feature/demo ​ # 合并分支 git checkout main git merge feature/demo ​ # 临时保存代码 git stash git stash pop ​ # 撤销未提交修改 git restore . ​ # 撤销上一次commit(保留代码) git reset --soft HEAD~1 ​ # 彻底回退版本 git reset --hard 版本号

总结

Git 的核心不是背命令,而是理解四大区域流转 + 分支机制 + 撤销逻辑。99% 的工作问题:代码撤回、版本回退、冲突解决、多人协作,全部可以通过本文命令解决。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询