🐸 青蛙编程网
首页 / 开发工具 / Git / 3. 基本工作流

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 动手改

在本博客任何目录(或自建目录):

  1. 改一个文件,走完 status → add → commit 循环
  2. 用 git lg(上一章 alias)看这次 commit 出现在哪
  3. 改一半不想要了,用 git restore 还原

3.7 小结

  • 一循环:status 查 → add 选 → commit 拍 → log 看
  • message 格式 类型: 说明,本博客再走 -F 文件防乱码
  • 三类「反悔按钮」:amend / restore --staged / restore

下一章:分支 🐸

📥 下载本章代码

ZIP 内含本章全部代码文件与说明,解压即用,与教程内容同步生成。