引入

Git 最容易混乱的地方是:文件已经改了,为什么 git commit 却没有包含修改?原因通常是没有区分工作区、暂存区和本地仓库。日常操作应围绕这三个位置展开。

正文

查看状态

git status
git diff
git diff --staged
  • git diff 查看工作区相对暂存区的修改。
  • git diff --staged 查看暂存区相对上一次提交的修改。

暂存并提交

git add src/app.js
git add src/
git commit -m "修复登录状态显示"

优先按功能选择文件或代码块暂存,不要习惯性使用 git add .。提交应描述“为什么改”或“改了什么”,并保持一个提交只解决一个相对完整的问题。

查看历史

git log --oneline --decorate --graph --all
git show <commit>

一个可执行的日常流程

git status
# 修改代码并运行测试

团队如果规定使用合并提交而不是变基,应按团队规则执行 git pull。同步前先确认本地未提交的修改,避免把无关工作混在一起。

引出

提交之后如果发现问题,不要立即删除历史。先判断是要修改未提交内容、撤销某个提交,还是找回误删对象,再参考 Git撤销与恢复。分支上的提交组织方式见 Git分支与合并