git学习目录


一、基础认知

1️⃣ Git 是什么

  • 分布式版本控制系统(DVCS)
  • 本地仓库 vs 远程仓库(如 GitHub)

2️⃣ Git 三大区域(核心概念)

复制代码
工作区(Working Directory)
暂存区(Staging Area)
本地仓库(Repository)

👉 必须理解,否则后面所有命令都会混乱


3️⃣ 基本状态理解

复制代码
untracked(未跟踪)
modified(已修改)
staged(已暂存)
committed(已提交)

⚙️ 二、基础命令

1️⃣ 仓库初始化与克隆

bash 复制代码
git init
git clone

2️⃣ 文件操作流程(最核心)

bash 复制代码
git status        # 查看状态
git add           # 加入暂存区
git commit        # 提交

3️⃣ 查看历史

bash 复制代码
git log
git diff

4️⃣ 撤销操作(重点难点)

bash 复制代码
git restore       # 撤销修改
git reset         # 回退暂存
git revert        # 回滚提交

🌿 三、分支管理(开发核心能力)

1️⃣ 分支操作

bash 复制代码
git branch
git checkout
git switch
git checkout -b feature/xxx

2️⃣ 合并分支

bash 复制代码
git merge

3️⃣ 变基(进阶)

bash 复制代码
git rebase

👉 理解:

  • merge vs rebase 区别

☁️ 四、远程仓库操作

1️⃣ 远程连接

bash 复制代码
git remote -v

2️⃣ 推送与拉取

bash 复制代码
git push
git pull
git fetch

👉 重点区别:

  • pull = fetch + merge

3️⃣ 分支推送

bash 复制代码
git push origin feature/login

🔁 五、日常开发流程

标准流程:

复制代码
1. git pull
2. 新建分支
3. 开发
4. commit
5. push
6. 提 PR
7. 合并

🔍 六、冲突处理

1️⃣ 冲突产生原因

  • 同一文件同一位置被多人修改

2️⃣ 解决流程

复制代码
1. 打开冲突文件
2. 手动修改
3. git add
4. git commit

🧹 七、历史与回滚

1️⃣ 回退版本

bash 复制代码
git reset --soft
git reset --hard

2️⃣ 安全回滚

bash 复制代码
git revert

3️⃣ 查看操作记录

bash 复制代码
git reflog

👉 非常重要(救命工具)


📦 八、临时保存

bash 复制代码
git stash
git stash pop

👉 用于:

  • 开发一半要切分支

🏷️ 九、标签管理

bash 复制代码
git tag
git tag v1.0
git push origin v1.0

🔐 十、忽略文件(重点)

.gitignore

复制代码
node_modules/
.env
dist/

👉 防止垃圾文件进入仓库


📏 十一、提交规范

常见规范:

复制代码
feat: 新功能
fix: 修复bug
docs: 文档
refactor: 重构

🏗️ 十二、团队协作规范

在 GitHub / GitLab 中:

  • PR(Pull Request)流程
  • Code Review
  • 保护 main 分支
  • CI/CD 自动检测

🧠 十三、进阶知识

1️⃣ cherry-pick

bash 复制代码
git cherry-pick <commit>

2️⃣ 子模块

bash 复制代码
git submodule

3️⃣ rebase 交互式

bash 复制代码
git rebase -i

👉 整理提交历史


4️⃣ 多人协作策略

  • Git Flow
  • GitHub Flow(推荐)
相关推荐
HERR_QQ4 小时前
强化学习的数学原理 学习笔记
人工智能·笔记·学习·自动驾驶
郡杰4 小时前
Git基础与开发平台搭建
git·后端
MartinYeung55 小时前
[论文学习]DP-Fusion:面向大语言模型的令牌级差分隐私推理-深度解析
人工智能·学习·语言模型
zwenqiyu5 小时前
非线性字符串数据结构串讲
数据结构·c++·学习·算法
钟智强6 小时前
我警告了 329 天
git·php·wordpress·webshell
MartinYeung56 小时前
[论文学习]SecureGate:通过令牌级门控学习何时安全地揭示PII-深度解析
学习·安全
大鱼>7 小时前
超参数调优进阶:Optuna/Bayesian/Early Stopping
人工智能·学习·机器学习·聚类
乐观的冷风8 小时前
我们需要将文件添加到暂存区才能提交,而移除文件后是无法添加到暂存区的,那么怎么移除一个文件让GIT不再将其纳入版本控制呢?上图中GIT已经给出了说明:
git
liuyicenysabel8 小时前
多服务上线日记二:
服务器·笔记·学习
小弥儿8 小时前
GitHub今日热榜 | 2026-07-05:阿里巴巴浏览器Agent上榜
学习·开源·github