基本 Git 操作
add/commit/status/diff。
基本 Git 操作
这一课你将能做到
- 熟练使用
add / commit / log / diff / restore / switch完成日常 90% 的本地操作 - 看懂
git status和git log的输出,知道每个字段在说什么 - 用
.gitignore排除不该进仓库的文件(编译产物、IDE 配置、密钥)
为什么要学
上一课建立了「三大区域」的图像,这一课把它变成肌肉记忆。你以后每天的工作循环就是:改代码 → git status 看状态 → git add 暂存 → git commit 存档 → 偶尔 git log 回溯。这个循环一天要敲几十遍,必须练到不用想。
同时,这些命令是面试高频题:git restore 和 git reset 区别?怎么撤销已经 commit 的改动?怎么只看某个文件的修改历史?答不上来直接出局。
先建立图像
日常命令地图(背下来):
┌─────────┐ add ┌─────────┐ commit ┌─────────┐
│ 工作区 │ ────> │ 暂存区 │ ────> │ 本地仓库 │
│ │ <──── │ │ <──── │ │
└─────────┘ restore└─────────┘ reset └─────────┘
│ │
│ diff(工作区 vs 暂存) │
│ diff --staged(暂存 vs 仓库)
│ ▼
│ log / show(看历史)
▼
switch / restore(切分支 / 丢弃改动)
跟着做
步骤 1:克隆本站仓库(真实场景)
本站代码托管在 GitHub,用 clone 把它拷到本地:
git clone https://github.com/<your-org>/java-nav.git
cd java-nav
git status
# On branch main
# Your branch is up to date with 'origin/main'.
clone 做的事:下载完整 .git + 检出 main 分支的最新快照到工作区。
步骤 2:改一个文件并查看差异
随便打开一个 markdown 文件改一行,然后:
git status
# modified: content/课程/... ← 红色:已改未暂存
git diff
# - 旧的一行
# + 新的一行 ← 精确显示改了什么
git diff 默认对比「工作区 vs 暂存区」。如果想看「暂存区 vs 仓库」,用 git diff --staged。
步骤 3:暂存 + 提交
git add content/课程/README.md
git status # 变绿:已暂存
git commit -m "docs: 修正课程 README 错别字"
提交信息规范建议用「类型: 描述」,常见类型:feat(新功能)/ fix(修 bug)/ docs(文档)/ refactor(重构)/ chore(杂项)。
步骤 4:查看历史
git log # 完整历史(按 q 退出)
git log --oneline # 一行一条,最常用
git log --oneline -10 # 只看最近 10 条
git log --oneline --graph # 带分支线
git show a1b2c3d # 看某个 commit 的完整改动
git log -- content/课程/README.md # 只看某文件的历史