第4章:Git版本控制入门

说实话,我见过太多团队因为版本管理混乱而翻车。有一次,一个同事把代码直接覆盖了,整个项目回退了两周的工作量。嗯,从那以后,我坚持所有项目必须上Git。今天我们就来聊聊Git的入门知识。

4.1 Git安装与配置

安装Git其实很简单。我个人习惯用包管理器来装,干净利落。

Windows用户:去官网下载安装包,一路Next就行。
macOS用户:brew install git
Linux用户:sudo apt install git(Debian系)或 sudo yum install git(RedHat系)

装完之后,第一件事就是配置身份信息。为什么?因为每次提交都会记录你是谁。

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

你还可以配置一些常用别名,比如:

git config --global alias.st status
git config --global alias.ci commit
git config --global alias.br branch

这样以后打 git st 就能看状态了,省事不少。

小技巧:用 git config --list 可以查看所有配置。我曾经帮一个同事排查问题,发现他提交记录里名字是乱码,就是因为配置没设对。

4.2 工作区、暂存区、仓库概念

这三个概念,说白了就是Git的「三块地盘」。我刚开始学的时候也绕晕过,后来用一张图就搞明白了。

工作区 你写代码的地方 暂存区 准备提交的临时区域 本地仓库 永久保存版本的地方 git add git commit

你想想看,工作区就是你电脑上看到的文件夹。你在里面写代码、改文件。暂存区呢,就像一个「购物车」,你把想提交的文件先放进去。最后,git commit 就是把购物车里的东西正式存到仓库里。

核心理解:工作区 → git add → 暂存区 → git commit → 本地仓库。这个流程你记住了,Git就学会了一半。

4.3 常用命令

4.3.1 git init — 初始化仓库

进入项目目录,敲一下:

cd my-project
git init

这时候目录下会多一个 .git 文件夹。别手贱删它,删了版本历史就全没了。我见过有人把 .git 当垃圾文件删掉的,那叫一个惨。

4.3.2 git add — 添加到暂存区

你可以加单个文件,也可以加所有文件:

git add index.html          # 加一个文件
git add .                   # 加所有文件(小心别把不该加的加进去)
git add src/                # 加整个目录
注意:git add . 会把所有改动都加进去,包括编译产物、日志文件等。我曾经不小心把 node_modules 也加进去了,结果仓库变得巨大无比。所以,.gitignore 一定要写好。

4.3.3 git commit — 提交到仓库

提交的时候一定要写清楚信息:

git commit -m "修复了登录页面的样式问题"

我个人习惯用 git commit -v,这样会显示改动内容,方便我最后检查一遍。

4.3.4 git log — 查看提交历史

想看谁在什么时候改了什么东西?用这个:

git log
git log --oneline          # 简洁模式,一行一个提交
git log --graph            # 图形化显示分支

输出大概长这样:

commit a1b2c3d4e5f6...
Author: 张三 <zhangsan@example.com>
Date:   Mon Mar 10 14:30:00 2025 +0800

    修复了登录页面的样式问题

4.4 .gitignore 文件编写

这个文件太重要了。说白了,它就是告诉Git:「这些文件你别管,我不希望它们进版本库。」

常见的忽略规则:

# 编译产物
*.class
*.jar
*.war

# 依赖目录
node_modules/
vendor/

# 系统文件
.DS_Store
Thumbs.db

# 日志
*.log
logs/

# 环境配置
.env
.env.local

你还可以用通配符:

# 忽略所有 .tmp 文件
*.tmp

# 但保留 special.tmp
!special.tmp

# 忽略 build 目录下的所有内容
build/
我的经验:.gitignore 最好在项目一开始就创建。如果等到提交了一堆垃圾文件后再去加,那些文件已经进版本库了,得用 git rm --cached 才能移除。麻烦得很。

这里有个小坑:如果你已经用 git add 把某个文件加进去了,再在 .gitignore 里忽略它是没用的。你得先把它从暂存区移除:

git rm --cached 文件名

嗯,Git 就是这样,一旦你告诉它「我要管这个文件」,它就会一直盯着它。

小结

今天的内容其实就三件事:

  • 安装配置:装好Git,设好名字和邮箱
  • 三个区域:工作区写代码,暂存区准备,仓库保存
  • 四个命令:init、add、commit、log

再加上一个 .gitignore 文件,你就已经可以开始用Git管理自己的项目了。下一章我们会聊分支管理,那才是Git真正强大的地方。