Git 常用命令速查:从日常提交到冲突解决
做开发绕不开 Git,但很多人只会 add、commit、push 三板斧,遇到分支混乱、代码冲突、历史提交想修改时就卡住了。本文把高频场景的 Git 命令整理成一份速查清单,建议收藏。
## 一、日常提交三件套
```bash
git status # 看当前工作区状态
git add -p # 交互式选择要提交的代码块(比 add . 安全)
git commit -m "feat: 完成登录页展示"
```
用 `git add -p` 可以逐块确认改动,避免把调试代码、密钥误提交进去。
## 二、分支操作
```bash
git switch -c feature/login # 新建并切到新分支
git switch main # 切回主分支
git branch -a # 查看本地与远程分支
git merge feature/login # 合并分支
git rebase main # 变基,让提交历史更线性
```
小技巧:`rebase` 用于自己分支同步主干,`merge` 用于合入主干前保留合并记录,两者不要混用在同一分支。
## 三、查看历史与对比
```bash
git log --oneline --graph --all # 一行式提交图谱
git diff HEAD~2 # 与两个提交前对比
git show <commit-id> # 查看某次提交具体改了什么
git blame 文件名 # 查某行代码是谁改的
```
排查线上问题时,`git log --oneline --graph` 配合 `git show` 几乎能还原所有变更脉络。
## 四、撤销与回退
```bash
git restore 文件名 # 丢弃工作区单个文件的修改
git restore --staged 文件名 # 从暂存区撤回
git reset --soft HEAD~1 # 撤销上一次提交,保留改动
git revert <commit-id> # 生成反向提交,安全地回退已推送内容
```
注意:已经 push 到远程的提交,优先用 `revert` 而不是 `reset`,否则会影响其他人。
## 五、冲突解决流程
合并或 rebase 时出现冲突:
```bash
# 1. 打开冲突文件,找到 <<<<<<< ======= >>>>>>> 标记
git status # 列出冲突文件
# 2. 手工保留正确内容,删除标记
git add 冲突文件
git rebase --continue # 或 git merge --continue
```
如果改错了想重来:`git rebase --abort` 或 `git merge --abort` 可以回到冲突前状态。
## 六、临时保存现场
```bash
git stash # 暂存未提交改动
git stash pop # 恢复并删除暂存记录
git stash list # 查看暂存列表
```
切换分支处理紧急需求时,stash 比重开仓库高效得多。
## 总结
Git 的核心不是命令数量,而是理解工作区、暂存区、本地仓库、远程仓库这四个层级。把上面这些命令练熟,日常开发和团队协作基本不会踩坑。
- 点赞
- 收藏
- 关注作者
评论(0)