Skip to content

Git 人话词典:看到一个词,先判断代码在哪 ​

Repository / Repo / 仓库 ​

一个由 Git 管理的项目,包含当前文件和版本历史。

你会在这些场景遇到:GitHub 上的项目页面、本地带 .git 记录的项目文件夹。

具体例子:tiny-notes 是仓库名;里面的 docs/index.md 只是仓库中的一个文件。

Local / 本地 ​

你的电脑。

你在编辑器里修改的文件、还没 Push 的 commit,都可能只存在本地。别人暂时看不到。

Remote / 远程 ​

互联网上的 Git 仓库位置,常见托管在 GitHub。

它不一定叫 GitHub,也可能是 GitLab、公司服务器或其他服务。

Origin ​

Git Clone 时通常自动给远程仓库起的简称。

bash
git remote -v

如果你 Clone 自己的项目,origin 通常是你的远程仓库。如果你 Clone 自己的 Fork,origin 通常是你的 Fork。

Upstream ​

参与别人的开源项目时,通常把原作者仓库登记为 upstream。

text
origin      我的 Fork
upstream    原作者仓库

它是常用命名习惯,不是 Git 的特殊魔法词。

Working Tree / 工作区 ​

你此刻在编辑器中看到和修改的项目文件。

文件刚保存时,变化先出现在工作区。git diff 可以查看这些尚未加入待提交清单的变化。

Staging Area / 暂存区 ​

下一次 commit 的待保存清单。

bash
git add docs/index.md

这条命令把 docs/index.md 当前变化放进清单,并没有上传。

Commit ​

一组已经选好、带说明的版本存档。

bash
git commit -m "修正首页标题"

Commit 属于某条分支,刚创建时通常只在本地。

Branch / 分支 ​

从某个版本开始的一条独立修改路线。

用在:开发新功能、修错误、做实验、准备 PR。它让你不必直接在 main 上边试边改。

Main ​

许多仓库的默认主分支名称,通常代表当前正式整合的版本。

不是所有仓库都叫 main,旧项目也可能叫 master,团队还可能使用其他名称。

Git 用来表示“我现在查看的是哪个版本”的指针。

日常看到 HEAD -> main,可以先读成“我目前站在 main 的最新本地 commit 上”。

Clone ​

第一次把远程仓库完整复制到电脑,并自动记录来源。

bash
git clone 仓库地址

本地已经有仓库以后,更新通常不再重复 Clone。

Fork ​

在 GitHub 上把别人的远程仓库复制到自己的账号。

Fork 在云端发生;Clone 才把仓库放到电脑。给没有写入权限的开源项目贡献时,经常先 Fork 再 Clone。

Fetch ​

下载远程最新版本信息,但先不改变当前文件。

适合想先看看远程有什么变化,再决定怎样合并。

Pull ​

把远程更新取回,并尝试合入当前分支。通常包含 Fetch 和后续整合。

bash
git pull --ff-only

它和 Pull Request 不是一件事。

Push ​

把本地 commit 上传到远程仓库。

bash
git push

Push 不一定等于部署,也不一定进入 main;它只是把某条分支的版本上传。

Pull Request / PR ​

GitHub 上的检查和合并申请。

它比较两条分支,集中展示说明、commit、逐行变化、自动检查和审核意见。

Review ​

其他人检查 PR,可以批准、留言或要求修改。

Review 的目标不是证明谁更懂,而是在代码进入主分支前发现问题、补充背景。

Merge ​

把一条开发路线的结果整合进另一条分支。

PR Merge 后,变化通常进入 main;但你的本地 main 还需要 Pull 才能拿到远程结果。

Conflict / 冲突 ​

两条路线修改了同一位置,Git 无法判断应该保留哪一边。

冲突不是文件必然损坏,而是 Git 要求人来决定最终业务内容。

一张位置地图 ​

text
工作区
  ↓ git add
暂存区
  ↓ git commit
本地分支
  ↓ git push
远程分支
  ↓ Pull Request + Merge
远程 main
  ↓ git pull
本地 main
origin 一定代表原作者仓库吗?

答案:不一定。origin 通常只是 Clone 时自动记录的远程简称。Clone 自己的 Fork 时,origin 就是自己的 Fork;原作者仓库常另外命名为 upstream。

写给想驾驭 AI,而不只是依赖 AI 的 Vibe Coder。