工具与效率·7 分钟阅读·作者:小白学编程
Git 完全入门:从一无所知到会用 8 个命令
不靠死记硬背,理解 Git 的「心智模型」,让你在 30 分钟内搞清提交、分支、合并、回滚等核心操作。
你为什么需要 Git?
如果你写过这种文件名:
作业-最终版.docx
作业-最终版-真的最终版.docx
作业-最终版-真的不改了.docx
作业-最终版-不改了交了.docx
那么你就已经感受到了没有版本控制的痛苦。
Git 解决的问题是:让你能随时记录、对比、回滚代码的每一次改动,并且能与他人协作。
心智模型:先把这张图刻进脑子
理解 Git,最重要的不是命令,而是它把代码分成 4 个区域:
┌─────────────────┐ git add ┌─────────────────┐ git commit ┌─────────────────┐
│ 工作区 │ ──────────► │ 暂存区 │ ──────────► │ 本地仓库 │
│ Working Dir │ │ Staging Area │ │ Local Repo │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
│ git push
▼
┌─────────────────┐
│ 远程仓库 │
│ GitHub / GitLab │
└─────────────────┘
| 区域 | 是什么 |
|---|---|
| 工作区 | 你正在编辑的文件 |
| 暂存区 | 你"挑出来"打算提交的改动 |
| 本地仓库 | 已经"打包成一个版本"存进历史 |
| 远程仓库 | 推送到 GitHub 等平台的副本 |
核心三步循环:编辑 → git add → git commit → git push。
第 1 步:装上 Git
macOS:
# 多数 Mac 都自带,没有的话:
brew install git
Windows:
- 下载并安装 Git for Windows
- 安装后会自带 Git Bash
第一次用必须配置身份:
git config --global user.name "你的名字"
git config --global user.email "your@email.com"
第 2 步:8 个命令足够你用 80% 的场景
1. git init — 初始化一个 Git 仓库
mkdir my-blog
cd my-blog
git init
这一步会在目录里产生一个 .git/ 隐藏文件夹。所有的 Git 魔法都在这里面。
2. git status — 我现在的状态?
git status
新手最该养成的习惯:每次操作前后都 git status 一次。它会告诉你:
- 哪些文件被修改了?
- 哪些文件已经放进暂存区?
- 当前分支是什么?
3. git add — 把改动挑进暂存区
git add index.html # 单个文件
git add src/ # 一个目录
git add . # 所有改动(最常用)
4. git commit — 记录一个版本
git commit -m "feat: 添加首页骨架"
关于 commit message 的建议:
写得清楚、未来的你会感谢现在的你。推荐使用约定式提交:
| 前缀 | 含义 |
|---|---|
feat: |
新增功能 |
fix: |
修复 bug |
docs: |
文档改动 |
refactor: |
重构(不改变行为) |
style: |
格式调整 |
test: |
测试相关 |
chore: |
杂事 |
5. git log — 查看历史
git log
git log --oneline # 一行显示,更清爽
git log --oneline --graph # 带分支图
按 q 退出查看。
6. git diff — 我到底改了啥?
git diff # 查看工作区的改动
git diff --staged # 查看暂存区的改动
7. git branch 与 git checkout — 分支与切换
git branch # 看所有分支
git branch feature/login # 新建分支
git checkout feature/login # 切换分支
git checkout -b feature/login # 新建并切换(最常用)
现代写法是
git switch,但checkout更通用,记一个就够了。
8. git push 与 git pull — 与远程同步
git push origin main # 推送到远程的 main 分支
git pull origin main # 拉取最新代码
第 3 步:连上 GitHub
- 在 GitHub 创建一个新仓库(不要勾选 README)
- 复制 SSH 或 HTTPS 链接
- 在本地执行:
git remote add origin git@github.com:USERNAME/REPO.git
git branch -M main
git push -u origin main
-u 参数让本地分支和远程分支建立追踪关系,以后直接 git push 即可。
一个完整的工作流(背下来!)
# 1. 拉取最新代码
git pull
# 2. 新建一个特性分支
git checkout -b feature/add-search
# 3. 编辑代码……
# 4. 查看改动
git status
git diff
# 5. 提交
git add .
git commit -m "feat: 添加站内搜索"
# 6. 推送
git push -u origin feature/add-search
# 7. 在 GitHub 上发起 Pull Request → 等待 review → 合并
# 8. 回到 main,更新本地
git checkout main
git pull
救命三招(出错了也别慌)
A. 撤销工作区的修改
git restore index.html # 还没 add 的,回到上次提交时的样子
B. 把已 add 的文件取消暂存
git restore --staged index.html
C. 改错了 commit message?
git commit --amend -m "新的提交信息"
⚠️ 仅限还没 push 的情况。已经推上去的不要 amend。
五条新手最容易踩的坑
- ❌ 不写
.gitignore→ 把node_modules/一起提交了。 - ❌ 直接在
main分支上写代码 → 一旦犯错,全队遭殃。 - ❌ commit 一次 50 个改动 → 哪天出 bug 你回滚不了。
- ❌ commit message 写"修复" → 三个月后看不懂自己写了啥。
- ❌ 强推(
git push -f)到公共分支 → 队友的提交会被你"吃掉"。
一份可以贴在墙上的速查表
看状态 git status
查改动 git diff
提交流程 git add . ─► git commit -m "..." ─► git push
新分支 git checkout -b feature/xxx
切回主线 git checkout main && git pull
合并 git merge feature/xxx
回滚单个文件 git restore <file>
撤销 add git restore --staged <file>
看历史 git log --oneline --graph
「合抱之木,生于毫末。」每一次有意义的 commit,都是大项目的起点。
把上面这八个命令、三招"救命术"、一个工作流操练一周,你就会进入"用 Git 像用筷子一样自然"的阶段。