> For the complete documentation index, see [llms.txt](https://alanmpan.gitbook.io/git-learning/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alanmpan.gitbook.io/git-learning/readme.md).

# 课程说明

面向初学者的 Git 完整学习路径，从基础到高级，从理论到实战。

<div align="center"><img src="https://img.shields.io/badge/Git-F05032?style=for-the-badge&#x26;logo=git&#x26;logoColor=white" alt="Git"> <img src="https://img.shields.io/badge/GitHub-181717?style=for-the-badge&#x26;logo=github&#x26;logoColor=white" alt="GitHub"> <img src="https://img.shields.io/badge/教程-中文-blue?style=for-the-badge" alt="中文"></div>

> 🎯 **一站式 Git 学习资源**：从零基础到高级技巧，从本地操作到团队协作，从理论知识到实战案例。

## 📚 在线阅读

**在线文档**：<https://apnpc.github.io/git-learnnig/>

## ✨ 课程特色

* 📖 **系统全面**：42 个基础教程 + 7 个高级主题 + 实战案例
* 🎯 **循序渐进**：从基础概念到高级技巧，逐步深入
* 💡 **动手实践**：每个章节都包含可操作的实验
* 🔥 **真实场景**：收录实际项目中的问题解决案例
* 🖼️ **图文并茂**：配备 30+ 张教学截图和示意图
* 🌐 **中文教学**：适合国内开发者学习

## 🎓 学习路径

### 🚀 快速入门（1-2 天）

如果你是 Git 新手，建议按以下顺序学习：

```
第一天：理解 Git 核心概念
├─ 01. 初识 Git          → 了解版本控制
├─ 02. Git 的特性        → 理解 Git 优势
├─ 03. 使用 Git 的方式   → 选择适合的工具
├─ 04. 安装 Git          → 配置开发环境
├─ 05. 初始配置          → 设置用户信息
├─ 06. 创建本地仓库      → 掌握三大区域（工作区、暂存区、版本库）
├─ 07. 更新文件并提交    → 第一次提交
└─ 08. 查看提交历史      → 理解提交记录

第二天：掌握基本操作
├─ 10. 切换版本          → 时光穿梭
├─ 12. 撤销未暂存修改    → 后悔药
├─ 13. 撤销已暂存修改    → 撤回操作
├─ 18. 忽略文件          → .gitignore
├─ 20. 创建分支          → 分支基础
└─ 21. 合并分支          → 基本合并
```

**学习成果**：能够在本地使用 Git 管理代码，掌握基本的提交、分支、合并操作。

### 📈 进阶提升（3-5 天）

掌握基础后，学习团队协作和高级操作：

```
远程协作篇
├─ 27. 多存储库           → 远程仓库概念
├─ 28. 从原始仓库获取更改 → git fetch
├─ 29. 合并远程更改       → 整合远程代码
├─ 30. 拉取与集成         → git pull
├─ 31. 创建跟踪分支       → 本地与远程关联
├─ 33. 推送变更           → git push
└─ 35. 托管 Git 仓库      → GitHub/GitLab

分支与合并篇
├─ 22. 解决合并冲突       → 冲突处理
├─ 23. 撤销合并           → 合并后悔
├─ 24. 变基与合并         → rebase vs merge
├─ 25. 使用变基整理分支   → 整理提交历史
└─ 26. 合并到主分支       → 规范流程

撤销与修正篇
├─ 14. 还原已提交修改     → git revert
├─ 15. 从分支中删除提交   → git reset
├─ 16. 修改最近提交       → git commit --amend
└─ 38. 撤销操作指南       → 撤销操作总结
```

**学习成果**：能够参与团队协作，处理复杂的分支合并场景，掌握各种撤销操作。

### 🎖️ 高级精通（1-2 周）

深入学习高级特性和最佳实践：

```
高级篇
├─ 01. 交互式暂存与提交整理  → git add -i
├─ 02. 储藏与多工作树        → git stash / worktree
├─ 03. 挑选提交与定位问题    → git cherry-pick / bisect
├─ 04. 安全地改写历史        → git rebase -i
├─ 05. 子模块                → git submodule
├─ 06. 钩子与自动化          → Git Hooks
└─ 07. 仓库清理与敏感信息处理 → 清理大文件

协作工作流
├─ 40. 认证与传输协议        → SSH/HTTPS
├─ 41. 跨平台文本与属性      → .gitattributes
├─ 42. 协作工作流            → Git Flow / GitHub Flow
└─ GitHub/GitLab 篇          → 平台特性

实战案例
└─ 分支落后时的合并策略      → 真实案例分析
```

**学习成果**：成为 Git 高手，能够处理各种复杂场景，建立团队工作流规范。

## 📖 内容结构

| 模块         | 章节数  | 难度   | 预计时长  | 描述            |
| ---------- | ---- | ---- | ----- | ------------- |
| **基础篇**    | 42 章 | ⭐⭐   | 2-3 天 | Git 核心概念和常用命令 |
| **高级篇**    | 7 章  | ⭐⭐⭐⭐ | 3-5 天 | 高级特性和复杂场景处理   |
| **GitHub** | 1 章  | ⭐⭐⭐  | 1 天   | GitHub 协作流程   |
| **GitLab** | 1 章  | ⭐⭐⭐  | 0.5 天 | GitLab 安装配置   |
| **实战案例**   | 持续更新 | ⭐⭐⭐⭐ | 按需    | 真实项目案例分析      |

## 🛠️ 环境要求

* **操作系统**：Windows 10+ / macOS / Linux
* **Git 版本**：2.40.1+ (推荐最新版本)
* **终端**：
  * Windows: PowerShell / Git Bash / Windows Terminal
  * macOS/Linux: 系统自带终端
* **文本编辑器**：VS Code / Sublime Text / Vim (可选)

## 🚦 快速开始

### 1️⃣ 克隆本教程

```bash
git clone https://github.com/apnpc/git-learnnig.git
cd git-learnnig
```

### 2️⃣ 选择学习方式

**方式一：在线阅读（推荐）**

* 访问在线文档：<https://apnpc.github.io/git-learnnig/>

**方式二：本地阅读**

* 使用 Markdown 阅读器打开 `_sidebar.md` 查看完整目录
* 按顺序阅读 `Git/` 目录下的教程文件

**方式三：本地运行文档服务**

```bash
# 安装 docsify-cli
npm install -g docsify-cli

# 启动本地服务器
docsify serve .

# 访问 http://localhost:3000
```

### 3️⃣ 开始学习

推荐从 [01-初识-Git](/git-learning/ji-chu-pian/01-chu-shi-git.md) 开始，按照 [学习路径](#-学习路径) 逐步学习。

## 📝 学习建议

### ✅ 推荐做法

1. **动手实践**：每个章节都包含实验，请务必亲自操作
2. **做好笔记**：记录关键命令和个人理解
3. **反复练习**：重要命令多练几遍，形成肌肉记忆
4. **建立项目**：创建测试仓库，尝试各种操作
5. **参考官方文档**：遇到问题查阅 [Pro Git](https://git-scm.com/book/zh/v2)

### ❌ 常见误区

1. **只看不练**：看懂和会用是两回事
2. **跳过基础**：没有扎实的基础，后续学习会很吃力
3. **畏惧命令行**：命令行才是 Git 的精髓
4. **不理解原理**：理解 Git 的工作原理比记住命令更重要
5. **害怕出错**：在测试仓库中大胆尝试，犯错是最好的学习方式

## 🎯 命令速查

### 常用命令

```bash
# 配置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

# 基础操作
git init                      # 初始化仓库
git add <file>                # 添加到暂存区
git commit -m "message"       # 提交
git status                    # 查看状态
git log                       # 查看历史

# 分支操作
git branch <name>             # 创建分支
git checkout <name>           # 切换分支
git merge <branch>            # 合并分支
git branch -d <name>          # 删除分支

# 远程操作
git clone <url>               # 克隆仓库
git pull                      # 拉取并合并
git push                      # 推送到远程
git remote -v                 # 查看远程仓库

# 撤销操作
git checkout -- <file>        # 撤销工作区修改
git reset HEAD <file>         # 撤销暂存
git revert <commit>           # 撤销提交
```

> 💡 完整命令列表请查看各章节详细说明。

## 🤝 贡献指南

欢迎贡献内容改进、错误修正、新增案例！

1. **报告问题**：[提交 Issue](https://github.com/apnpc/Git-Learnnig/tree/main/issues/README.md)
2. **贡献内容**：查看 [CONTRIBUTING.md](https://github.com/apnpc/Git-Learnnig/tree/main/CONTRIBUTING.md)
3. **提交案例**：在 `Git/cases/` 目录添加新案例

## 📜 开源协议

本项目采用 [MIT License](https://github.com/apnpc/Git-Learnnig/tree/main/LICENSE/README.md) 开源协议。

## 🙏 致谢

* [Pro Git 官方书籍](https://git-scm.com/book/zh/v2)
* 所有贡献者和提供反馈的学习者

## 📞 联系方式

* **GitHub Issues**：[提交问题](https://github.com/apnpc/Git-Learnnig/tree/main/issues/README.md)
* **Pull Requests**：[贡献代码](https://github.com/apnpc/Git-Learnnig/tree/main/pulls/README.md)

## 🗺️ 学习资源

### 官方资源

* [Git 官方网站](https://git-scm.com/)
* [Pro Git 中文版](https://git-scm.com/book/zh/v2)
* [Git 官方文档](https://git-scm.com/docs)

### 推荐工具

* **命令行**：Git Bash (Windows), Terminal (macOS/Linux)
* **图形界面**：GitKraken, SourceTree, GitHub Desktop
* **IDE 集成**：VS Code, IntelliJ IDEA, WebStorm

### 练习平台

* [Learn Git Branching](https://learngitbranching.js.org/?locale=zh_CN) - 可视化学习
* [Git 游戏](https://ohmygit.org/) - 游戏化学习

***

<p align="center">⭐ 如果这个教程对你有帮助，请给个 Star 支持一下！</p>

<p align="center">Made with ❤️ by the Git Learning Community</p>
