GIT / FIELD GUIDE 专题目录
FOR NEW ENGINEERS 01 / 05

把 Git 想明白,
再把代码交出去。

Git 不只是“记命令”。它是一套记录变化、切分工作、多人协作的系统。先看懂数据如何流动,命令自然就有了位置。

ONE SENTENCE

“把一组有意义的改动,
安全地交给团队。”

预计阅读08 MIN·适合分享
START WITH THE WHY 01 / 05

先不用记命令,
先弄懂 Git 要解决什么。

先从“为什么需要它”开始。
有了问题,后面的概念
才会各就各位。

BEFORE GIT01

代码只有“现在”

文件被覆盖后,很难知道谁改了什么;多人同时修改时,也容易互相覆盖。

THE IDEA02

Git 给代码留记忆

每次有意义的改变,都可以留下一个可回看的版本。版本之间的差异和来源都能追溯。

THE TEAM03

Git 让多人安全汇合

每个人先在自己的工作线上完成改动,再通过评审把正确的版本合进团队主线。

认知台阶一份代码它的历史多人如何汇合
TWO SPACES, ONE FLOW 02 / 05

先看全局:
代码在哪里流动?

把代码想成一件包裹。
本地负责打包,远端负责
接收、检查和分发。

A / YOUR MACHINE

本地空间 Local

你一个人工作的地方。改文件、做检查点、试错,都不会立刻影响团队。

工作区正在编辑的文件
git add
暂存区准备提交的改动
git commit
本地仓库自己的版本历史
commit写入本地历史
push把提交上传
pull把更新带回
TEAM SERVER / ORIGIN

远端空间 Remote

团队共享的地方。这里接收分支、跑 CI、做评审,最后合并进主线。

远端分支origin/feature
开 MR / PR
评审 / CI同事检查、自动测试
merge
main 主线团队共同基线
merge进入团队主线
01
开发者

在本地修改和提交,控制“什么时候交出去”。

02
Git

记录每个版本,并在两个空间之间传递历史。

03
团队

在远端评审和合并,决定“什么进入主线”。

ZOOM INTO LOCAL 03 / 05

再把本地放大,
三块地方,三种状态。

刚才看到的是“大地图”。
现在只看你的电脑,
改动是如何一步步被记录的。

01

你正在编辑的文件

工作区 Working tree

代码还没被 Git 记录。你可以随时修改、撤销或继续补充。

git diff查看尚未保存的变化
02

你电脑上的完整历史

本地仓库 Local repo

提交(commit)在这里生成。你可以断网工作,也能回看每一次决定。

git commit把暂存内容变成版本
03

团队共享的版本

远端仓库 Remote repo

GitLab / GitHub / Codeup 上的共享基准,承载评审、集成与发布。

git push把本地提交交给团队
!

记住:commit 只发生在本地;push 才会让远端看见。pull 也不是“覆盖本地”,而是把远端的新历史带回来并尝试合并。

A DAY IN THE REPO 04 / 05

一次功能开发,
是这样走完的。

围绕一条任务线工作。
每一步都能解释“为什么”。

STEP 01 · BEFORE YOU START SAFE TO RUN

先把远端的最新进展带回本地。

开始新任务前,先站在团队最新的基线上。这样新分支不会一开始就落后,也更容易在早期发现冲突。

~/workspace/project
$ git pull origin main
Already up to date.

讲解重点 pull = fetch(拿回来)+ merge(合进来)。如果本地有未提交改动,先保存或暂存,再同步。

COMMANDS IN CONTEXT 05 / 05

不要背命令,
记住它解决什么问题。

A / 01git status

我现在在哪?

查看当前分支、哪些文件变了、哪些内容已暂存。

A / 02git log --oneline

之前发生了什么?

快速浏览提交历史,找到某次改动的来龙去脉。

A / 03git fetch

远端有新消息吗?

只更新远端追踪信息,不改动当前工作区,适合先观察。

A / 04git restore

这次修改不要了。

撤销工作区的文件改动;使用前确认内容确实可以丢弃。

A / 05git stash

我想暂时换个任务。

把未完成的改动临时收起来,处理完紧急任务再恢复。

A / 06git revert

线上提交要撤回。

创建一个“反向提交”抵消旧提交,适合已共享的历史。

TEAM HABITS AFTER THE FLOW

团队约定,
让协作变得可预期。

Git 的技术能力很强,但好协作依赖的是一致的习惯。下面这组规则可以直接带进日常研发。

01

一个分支,一个目的

分支名能看出任务;不要把多个无关需求揉在一起。

02

提交要小、要完整、要能解释

一次提交对应一个逻辑动作,message 说明“做了什么”。

03

先同步,再推送;先评审,再合并

减少长期分叉,让冲突尽早暴露在作者手里。

04

共享历史不改写

已经 push 的提交,优先用 revert;谨慎使用 force push。

THE SHORT VERSION

改动 → 暂存 → 提交 → 推送 → 评审 → 合并

回到开头