什么是 Git
如果只用一句话描述,Git 不是“代码备份工具”,它更像一套记录代码演化过程的系统:谁在什么时候改了什么,为什么这样改,现在要不要撤回来。
它解决的不是“存文件”,而是“管理变化”
如果只是为了留底,压缩包加时间戳也能做到。但项目一旦开始协作,就会出现几个更实际的问题:
- 两个人同时改了同一块代码,最后到底保留谁的
- 一个功能改了三天,问题是从哪次提交引入的
- 线上出 bug 了,要回到哪个版本最稳
- 某个需求做到一半,能不能先切出去修别的问题
Git 本质上就是在解决这些问题。
我更关心的三个概念
快照,不是网盘目录
每次 commit 可以先理解成一次快照。它记录的是“这一次代码长什么样”,而不是简单把单个文件扔进仓库里。
所以平时看 Git,最好少把它想成“文件管理器”,多把它想成“版本节点管理器”。
分支本质上只是一个引用
很多人刚开始会把分支想得很重,像是复制出了一整套新项目。实际上分支没那么神秘,它更像是“指向某个提交节点的名字”。
也正因为如此,切分支很便宜,删分支也不是什么大动作。真正要小心的是它指向的历史有没有被别人依赖。
Git 默认是本地优先
git add、git commit、git branch 这些操作,大多数先发生在本地。远程仓库只是协作媒介,不是 Git 的全部。
这个点很重要,因为很多撤销类操作能不能安全做,关键就在于:这段历史现在只在你本地,还是已经推给别人了。
在团队开发里,Git 主要帮你做三件事
- 并行开发:每个人在自己的分支上做事,最后再合流
- 追踪历史:改动是谁提交的,为什么提交,可以一路查回去
- 安全回退:代码改坏了,不用靠手动复制粘贴恢复
一个常见误解
Git 很强,但它不是万能撤销键。还在本地的历史,和已经推到远程、已经被别人拉走的历史,处理方式完全不是一回事。

