Git 架构关系详解结构图
Git 系统架构总览
│
├── 1. 用户(Developer)
│ ├── 操作系统(Windows / macOS / Linux)
│ ├── 安装工具:
│ │ ├── Git(核心命令行工具)
│ │ ├── Git Bash(Git 的命令行终端)
│ │ ├── Git GUI(图形界面工具,可选)
│ │ └── GitHub Desktop / SourceTree(第三方 Git GUI 工具,可选)
│ └── 本地操作目录(本地仓库)
│ ├── 工作区(Working Directory)
│ │ └── 用户正在编辑的项目文件(*.py, *.md 等)
│ ├── 暂存区(Stage / Index)
│ │ └── 准备提交的文件快照(通过 `git add` 添加)
│ └── 本地 Git 仓库(.git 文件夹)
│ ├── 提交历史记录(commit logs)
│ ├── HEAD 指针(指向当前分支)
│ ├── 分支信息(refs/heads)
│ └── 本地配置文件(config)
├── 2. Git(版本控制系统)
│ ├── 基于分布式架构(每个开发者都有完整仓库副本)
│ ├── 核心命令:
│ │ ├── `git init` 创建仓库
│ │ ├── `git add` 添加到暂存区
│ │ ├── `git commit` 提交记录
│ │ ├── `git push` 推送到远程
│ │ ├── `git pull` 拉取更新
│ │ └── `git clone` 克隆远程仓库
│ └── 存储对象(内部结构)
│ ├── Blob(文件快照)
│ ├── Tree(目录树)
│ ├── Commit(提交记录)
│ └── Tag(标签对象)
├── 3. GitHub(远程仓库服务平台)
│ ├── 角色:云端代码仓库 + 协作平台
│ ├── 功能:
│ │ ├── 托管远程仓库(通过 URL,如 `https://github.com/user/repo.git`)
│ │ ├── 提交历史可视化(图形界面)
│ │ ├── Pull Request(代码合并请求)
│ │ ├── Issues(问题追踪)
│ │ ├── Actions(自动化 CI/CD)
│ │ └── Wiki / Pages(项目文档、网站)
│ └── 与用户交互方式:
│ ├── SSH / HTTPS 协议进行认证传输
│ └── 每个项目对应一个远程 origin 源地址
├── 4. GitHub 云服务器(后端)
│ ├── 托管所有用户的仓库数据(每个仓库完整存储所有提交历史)
│ ├── 提供 API 接口(如 GitHub REST API / GraphQL)
│ └── 支持 Webhooks、Actions 等开发者自动化功能
└── 5. 用户与远程仓库交互流程(完整路径)
├── 用户本地项目(创建项目、写代码)
├── 初始化本地仓库 `git init`
├── 添加远程仓库 `git remote add origin`
├── 执行操作流程:
│ ├── 本地修改代码
│ ├── git add → 暂存
│ ├── git commit → 本地提交
│ ├── git push → 推送到 GitHub
│ └── git pull → 拉取更新同步
└── GitHub 云端记录、展示所有提交和协作行为
说明:
Git 是核心引擎,控制本地文件版本;
GitHub 是托管平台,充当云服务器和多人协作接口;
用户用 Git Bash / GUI 与本地和 GitHub 交互;
远程仓库
origin
是你本地与 GitHub 的联系桥梁。