Git 常用命令速查表(面试 + 工作版)
涵盖日常开发、面试高频命令、核心原理三大类,约 90% 场景够用。
📑 目录
- 日常开发流程
- 仓库操作
- 状态查看
- 提交代码
- 分支管理
- 分支合并
- 远程仓库同步
- 撤销操作
- Stash(临时保存)
- Tag(版本管理)
- 冲突处理
- [面试高频命令 Top 10](#面试高频命令 Top 10)
- [面试高频原理 Top 5](#面试高频原理 Top 5)
- [Git 一页口诀](#Git 一页口诀)
1. 日常开发流程
bash
git pull # 拉取最新代码
git status # 查看状态
git add . # 添加到暂存区
git commit -m "修改说明" # 提交到本地仓库
git push # 推送到远程仓库
2. 仓库操作
| 命令 | 作用 |
|---|---|
git init |
初始化本地仓库 |
git clone URL |
克隆远程仓库 |
git remote -v |
查看远程仓库 |
git remote add origin URL |
添加远程仓库 |
3. 状态查看
| 命令 | 作用 |
|---|---|
git status |
查看当前状态 |
git log |
查看提交历史 |
git log --oneline |
简洁历史记录 |
git diff |
查看未暂存修改 |
git diff --cached |
查看已暂存修改 |
git show CommitID |
查看某次提交详情 |
4. 提交代码
| 命令 | 作用 |
|---|---|
git add <file> |
添加指定文件 |
git add . |
添加全部修改 |
git commit -m "msg" |
提交修改 |
git commit -am "msg" |
添加并提交已跟踪文件 |
5. 分支管理
| 命令 | 作用 |
|---|---|
git branch |
查看分支 |
git branch dev |
创建分支 |
git switch dev |
切换分支 |
git switch -c dev |
创建并切换 |
git branch -d dev |
删除分支(安全) |
git branch -D dev |
强制删除分支 |
6. 分支合并
bash
git switch main
git merge dev
作用 :将 dev 合并到 main。
7. 远程仓库同步
| 命令 | 作用 |
|---|---|
git fetch |
下载远程更新,不合并 |
git pull |
下载并合并 |
git push |
上传代码 |
git push -u origin main |
首次推送并建立追踪关系 |
8. 撤销操作
| 命令 | 作用 |
|---|---|
git restore file.txt |
放弃工作区修改 |
git restore --staged file.txt |
取消暂存 |
git reset --soft HEAD~1 |
撤销提交,保留代码和暂存 |
git reset --mixed HEAD~1 |
撤销提交和暂存(默认) |
git reset --hard HEAD~1 |
完全回退,删除修改(慎用) |
9. Stash(临时保存)
bash
git stash # 保存当前修改
git stash list # 查看保存列表
git stash pop # 恢复最近保存
使用场景:功能做一半,突然要切换分支修 Bug。
10. Tag(版本管理)
| 命令 | 作用 |
|---|---|
git tag |
查看标签 |
git tag v1.0 |
创建标签 |
git push origin v1.0 |
推送标签 |
11. 冲突处理
冲突标识:
text
<<<<<<< HEAD
当前代码
=======
远程代码
>>>>>>> dev
解决步骤:
- 手动修改冲突
git add .git commit
12. 面试高频命令 Top 10
text
1. git init
2. git clone
3. git status
4. git add .
5. git commit -m
6. git log --oneline
7. git branch
8. git switch
9. git pull
10. git push
13. 面试高频原理 Top 5
① Git 四个区域
text
工作区 (Working Directory)
│ add
▼
暂存区 (Staging Area)
│ commit
▼
本地仓库 (Local Repository)
│ push
▼
远程仓库 (Remote Repository)
② pull 和 fetch 区别
| 命令 | 行为 |
|---|---|
git fetch |
仅下载,不合并 |
git pull |
下载 + 自动合并 |
③ merge 和 rebase 区别
merge(保留分叉历史):
text
A---B---C
\
D---E
↓ merge
A---B---C------M
\ /
D---E---
rebase(线性历史):
text
A---B---C
\
D---E
↓ rebase
A---B---C---D'---E'
④ reset 三种模式
| 模式 | 工作区 | 暂存区 | 本地仓库 |
|---|---|---|---|
--soft |
保留 | 保留 | 回退 |
--mixed |
保留 | 回退 | 回退 |
--hard |
回退 | 回退 | 回退 |
⑤ HEAD 是什么
HEAD = 当前所在提交位置的指针
text
HEAD
▼
A -> B -> C
14. Git 一页口诀
| 场景 | 命令 |
|---|---|
| 看状态 | git status |
| 看历史 | git log --oneline |
| 提交代码 | git add . + git commit -m "msg" |
| 同步代码 | git pull / git push |
| 创建分支 | git switch -c dev |
| 合并分支 | git merge dev |
| 临时保存 | git stash |
| 撤销修改 | git restore file |
| 回退提交 | git reset --soft HEAD~1 |
🎯 一句话总结
text
status 看状态
add 放暂存
commit 存本地
push 上传
pull 下载
branch 分支
merge 合并
stash 暂存
reset 回退