8.1.1 后悔药怎么吃——Git 基础命令
Git 的四个核心命令——add、commit、push、pull——构成了日常开发的基本操作闭环。
核心概念:三个区域
| 区域 | 说明 | 类比 |
|---|---|---|
| 工作区 | 你正在编辑的文件 | 草稿纸 |
| 暂存区 | 准备提交的变更 | 购物车 |
| 本地仓库 | 已提交的版本历史 | 个人存档 |
| 远程仓库 | 团队共享的代码库 | 云端备份 |
四大核心命令
1. git add:将变更加入暂存区
bash
# 添加单个文件
git add src/index.ts
# 添加所有变更
git add .
# 添加特定类型文件
git add "*.tsx"
# 交互式添加(逐个确认)
git add -p注意:git add . 会添加当前目录下所有变更,确保 .gitignore 配置正确。
2. git commit:创建版本快照
bash
# 提交并附带消息
git commit -m "feat: 添加用户登录功能"
# 添加并提交(跳过 add)
git commit -am "fix: 修复登录验证问题"
# 修改上一次提交
git commit --amend -m "feat: 添加用户登录功能(含验证)"最佳实践:
- 每次提交应该是一个"逻辑完整"的变更
- 提交信息遵循 Conventional Commits 规范
- 避免提交未完成或有明显错误的代码
3. git push:推送到远程仓库
bash
# 推送当前分支
git push
# 首次推送新分支
git push -u origin feat/login
# 强制推送(慎用!)
git push --force警告:--force 会覆盖远程历史,只在自己独占的分支上使用。
4. git pull:拉取远程更新
bash
# 拉取并合并
git pull
# 拉取并变基(保持提交历史线性)
git pull --rebase
# 只获取不合并
git fetch推荐:使用 git pull --rebase 可以保持提交历史整洁。
常用辅助命令
bash
# 查看当前状态
git status
# 查看变更内容
git diff
# 查看提交历史
git log --oneline -10
# 查看远程仓库信息
git remote -v典型工作流程
bash
# 1. 开始工作前,拉取最新代码
git pull --rebase
# 2. 进行开发...
# 3. 查看变更
git status
git diff
# 4. 添加变更到暂存区
git add .
# 5. 提交变更
git commit -m "feat: 完成用户注册页面"
# 6. 推送到远程
git pushAI 协作指南
向 AI 描述 Git 操作需求时,说明:
- 你想完成什么操作(如"撤销上次提交")
- 当前状态(是否已推送、是否有未提交变更)
- 是否需要保留变更内容
示例 Prompt:
"我刚提交了一个 commit 但还没 push,发现漏了一个文件,如何把这个文件补充到上一次提交中?"
避坑指南
| 问题 | 原因 | 解决方案 |
|---|---|---|
| push 被拒绝 | 远程有新提交 | 先 git pull --rebase |
| 提交了敏感文件 | .gitignore 未配置 | 使用 git rm --cached 移除 |
| commit 信息写错 | 手误 | git commit --amend 修改 |
| 误删文件 | 操作失误 | git checkout -- filename 恢复 |
