🏗️
🏗️

四大领域

  • 理解 Workspace, Index, Local Repo, Remote Repo 的四层结构。

  • 明确文件当前所处位置是掌握 Git 的捷径。

  • 通过命令精准控制各个领域间的数据流动。

Slide 1 of 3Remaining 2

1. Git 架构:四大领域

理解 Git 的第一步是搞清楚文件“在哪”以及它将要“去哪”。Git 划分为四个主要区域:

graph LR WS[Workspace] -- "git add" */} IDX[Staging Area] IDX -- "git commit" */} LOC[Local Repo] LOC -- "git push" */} REM[Remote Repo] REM -- "git fetch" */} LOC LOC -- "git switch" */} WS IDX -- "git restore" */} WS style WS fill:#f9f,stroke:#333 style IDX fill:#bbf,stroke:#333 style LOC fill:#bfb,stroke:#333 style REM fill:#fbb,stroke:#333
  • Workspace (工作区) : 你实际编辑文件的地方。
  • Index (暂存区) : 准备包含在下一次提交中的变更存放处。
  • Local Repo (本地仓库) : 你个人电脑上的提交历史数据库。
  • Remote Repo (远程仓库) : 如 GitHub 等服务器上的共享数据库。

2. Git 的本质是图 (DAG)

Git 的提交历史并非简单的直线,而是被称为 DAG (Directed Acyclic Graph: 有向无环图) 的数据结构。

gitGraph commit id: "Initial" commit id: "Add logic" branch develop checkout develop commit id: "Feature A" commit id: "Feature B" checkout main merge develop commit id: "Release 1.0"

每个提交都持有指向“父级”的指针,而分支(如 main 或 develop)只是指向特定提交的 指针(活动标签)


3. 现代 Git:从 checkout 到 switch/restore

到了 2026 年,在很多一线大厂中 git checkout 已经销声匿迹。这是因为 checkout 同时承担了“切换分支”和“恢复文件”两个完全不同的职责,极易引起误操作。

自 Git v2.23 起,这两个功能被明确拆分:

职责 旧命令 (旧式/弃用中) 新命令 (现代/推荐)
切换分支 git checkout <branch> git switch <branch>
创建新分支 git checkout -b <new> git switch -c <new>
废弃文件变更 git checkout -- <file> git restore <file>
取消暂存 git reset HEAD <file> git restore --staged <file>

为什么要推荐新命令?

  • + 职责分离明确(切换 vs 恢复),极大降低了误删代码的风险
  • + 参数解释更符合直觉,防止意想不到的文件覆盖覆盖
  • + 已成为 2.23 之后的标准,AI 代码助手和文档都已全面转向新命令
  • - 需要克服多年积累下来的肌肉记忆(输入习惯)
  • - 在极少数极旧的服务器环境下(Git 版本过低)可能无法运行

4. 2026 标准开发工作流

让我们通过 StepRoadmap 来确认一下标准的开发周期。

1

1. 同步

git pull origin main --rebase

清晨第一件事
2

2. 开始实现

git switch -c create-feature

+5 min
3

3. 暂存变更

git add .

+30 min
4

4. 提交代码

git commit -m "feat: add new visualization"

+2 min
5

5. 推送/PR

git push origin create-feature

任务完成时
ℹ️

Tip : 使用 git pull --rebase 可以有效抑制无谓的合并提交(Merge Commits),从而保持一条整洁、清晰的项目提交线。


5. 进阶技能:Sparse Checkout (稀疏检出)

在处理 Monorepo(巨型仓库)时,把整个仓库拉到本地是非常低效的。2026 年,git sparse-checkout 已成为标准配置。

$ git sparse-checkout set src/components docs/

这使得即便是在数 GB 大小的仓库中,你也可以只针对数 MB 的必要部分进行快速作业。


6. 总结:培养“图”的思维方式

如果在 Git 中走入迷途,请试着想一想:“现在我在图中的哪个提交点?分支指针正指向哪里?”

引用: YouTube

希望本文能让你的 Git 操作在 2026 年变得更加丝滑。