Git 全流程结构与思维导图

发布于:2025-06-28 ⋅ 阅读:(13) ⋅ 点赞:(0)

Git 全流程结构

Git 全流程结构
├─ 工作区(Working Directory)
│   ├─ 项目开发的地方(你正在编辑的文件)
│   └─ 相关命令:
│       ├─ git status                  # 查看当前状态(修改、暂存、未跟踪)
│       ├─ git diff                    # 查看当前文件改动
│       ├─ git add <file>              # 将工作区改动加入暂存区
│       ├─ git checkout -- <file>      # 丢弃文件改动(还原为暂存区状态)
│       ├─ git restore <file>          # 同上,现代替代命令
│       └─ git stash                   # 暂存当前未提交的改动
│
├─ 暂存区(Staging Area / Index)
│   ├─ 保存已 `add` 的文件,等待 `commit`
│   └─ 相关命令:
│       ├─ git add <file>              # 把文件加入暂存区
│       ├─ git restore --staged <file> # 从暂存区移除(保留工作区)
│       ├─ git reset HEAD <file>       # 取消暂存(和 restore 一样)
│       └─ git diff --cached           # 查看暂存区与上次提交的差异
│
├─ 本地仓库(Local Repository)
│   ├─ `.git` 中的 commit 历史
│   └─ 相关命令:
│       ├─ git commit -m "msg"         # 提交到本地仓库
│       ├─ git log                     # 查看提交历史
│       ├─ git reset --soft HEAD~1     # 撤销 commit,保留暂存区
│       ├─ git reset --mixed HEAD~1    # 撤销 commit,回到工作区
│       ├─ git revert <commit>         # 生成一个撤销提交
│       ├─ git cherry-pick <commit>    # 把其他分支的提交应用到当前分支
│       └─ git rebase <branch>         # 把当前分支的起点变更为另一分支上(线性合并)
│
├─ origin/dev(远程跟踪分支)
│   ├─ 本地只读分支,代表远程 `dev` 的快照
│   └─ 相关命令:
│       ├─ git fetch origin dev        # 拉取远程更新到 origin/dev
│       ├─ git diff dev..origin/dev    # 比较是否落后远程
│       ├─ git merge origin/dev        # 合并远程快照到当前分支
│       ├─ git log origin/dev          # 查看远程分支提交历史(本地快照)
│       └─ git rebase origin/dev       # 用远程快照做 rebase(线性整合)
│
├─ stash 区(隐藏工作区/暂存区)
│   ├─ 用来临时保存当前未提交的工作(工作区/暂存区)
│   └─ 相关命令:
│       ├─ git stash                   # 暂存当前所有修改
│       ├─ git stash pop               # 弹出上次的 stash 并应用
│       ├─ git stash apply             # 应用某次 stash,不移除
│       └─ git stash list              # 查看 stash 历史
│
└─ 远程仓库(Remote Repository)
    ├─ 比如 GitHub / GitLab 上的主项目代码库
    └─ 相关命令:
        ├─ git remote -v               # 查看远程仓库 URL
        ├─ git push origin dev         # 推送本地 dev 到远程
        ├─ git pull origin dev         # 拉取并合并(fetch + merge)
        ├─ git push -f                 # 强推(慎用!可能覆盖他人改动)
        └─ git clone <repo-url>        # 克隆整个远程仓库

思维导图

在这里插入图片描述


流程方向

        git add            git commit          git push
工作区 ───────────▶ 暂存区 ────────────▶ 本地仓库 ──────────▶ 远程仓库
▲                  │                  │                  │
│ git checkout     │ git reset        │ git reset        │ git fetch
└──────────────────┴──────────────────┴──────────────────┘

流程图

在这里插入图片描述



网站公告

今日签到

点亮在社区的每一天
去签到