3. 基本工作流
这是什么:Git 的基本工作流 = 一个循环:改东西 → 看状态 → 暂存 → 提交 → 查历史。
为什么用:上一章配好了身份,可 Git 到底怎么用还没人告诉你。只会装不会用,代码改了还是裸奔在硬盘上,出了错连回到上一版都做不到。
如何用:本章从 git init 建仓开始,把 status → add → commit → log 这套循环完整走一遍,再练几个「反悔」按钮。
3.1 从零建一个仓库
mkdir my-project && cd my-project
git init
你会看到:
Initialized empty Git repository in .../my-project/.git/
3.2 核心五命令
git status # 看现状:改了什么、暂存了什么
git add readme.md # 单个文件暂存
git add . # 全部暂存(最常用)
git commit -m "第一次提交" # 提交快照
git log --oneline # 简版历史
典型 git status 输出对照:
Changes to be committed: ← 暂存区里,随时可 commit
modified: readme.md
Changes not staged: ← 工作区改的,还没 add
modified: app.js
Untracked files: ← 全新文件,Git 还不认识
note.txt
3.3 完整走一次
echo "青蛙编程网" > readme.md
git status # 潜在未跟踪状态,有查询感了
git add .
git commit -m "docs: 添加 readme"
git log --oneline
你会看到:
a1b2c3d docs: 添加 readme
commit 的 hash(a1b2c3d…)是快照身份证,回退/查看都靠它。
3.4 写好 commit message(重要软实力)
<类型>: <一句话,说清「做了什么」>
类型约定(本博客也这么用):
| 类型 | 用途 |
|---|---|
feat |
新功能 |
fix |
修 bug |
docs |
只改文档 |
refactor |
重构不换行为 |
chore |
杂务(依赖、配置) |
规矩(本博客明确约定):中文 commit message 用文件 +
git commit -F <file>防止环境下编码乱码——这是几因子由踩出来的实操方案,见 deploy.md。
git commit -F msg.txt # msg.txt 里写好多行 message
3.5 「 commit 了想反悔」急救三例(先记住第一个就够)
# ① 刚 commit,发现漏了个文件
git add 漏掉的文件
git commit --amend # 并入上一条 commit(未 push 时安全)
# ② 暂存了但不想 commit 了
git restore --staged file # 从暂存区拿回工作区
# ③ 工作区改坏了想还原
git restore file # 危险:未提交的改动直接丢弃
3.6 动手改
在本博客任何目录(或自建目录):
- 改一个文件,走完 status → add → commit 循环
- 用
git lg(上一章 alias)看这次 commit 出现在哪 - 改一半不想要了,用
git restore还原
3.7 小结
- 一循环:status 查 → add 选 → commit 拍 → log 看
- message 格式
类型: 说明,本博客再走-F文件防乱码 - 三类「反悔按钮」:amend / restore --staged / restore
下一章:分支 🐸