← 返回工具箱
Git 常用命令速查表
更新于 2026 年 10 月 · 按场景分组,不用背,用时来查
初始化与配置
| 命令 | 说明 |
git init | 在当前目录初始化仓库 |
git clone <仓库地址> | 克隆远程仓库到本地 |
git config --global user.name "名字" | 设置提交署名(全局,只需一次) |
git config --global user.email "邮箱" | 设置提交邮箱,要和代码托管平台账号一致 |
git config --list | 查看当前所有配置 |
日常提交
| 命令 | 说明 |
git status | 查看工作区状态,迷路时第一条命令 |
git add <文件> / git add . | 把改动加入暂存区,. 是全部改动 |
git commit -m "说明" | 提交暂存区内容 |
git commit --amend | 修补上一次提交(改说明或补文件),未 push 时才用 |
git diff | 看未暂存的改动;git diff --staged 看已暂存的 |
git log --oneline -10 | 单行看最近 10 次提交 |
git stash / git stash pop | 临时收起改动去处理别的事 / 恢复收起的改动 |
分支
| 命令 | 说明 |
git branch | 列出本地分支,* 是当前分支 |
git switch -c <新分支> | 新建并切换到新分支(旧写法 checkout -b) |
git switch <分支> | 切换分支 |
git merge <分支> | 把指定分支合并进当前分支 |
git branch -d <分支> | 删除已合并的本地分支 |
git branch -a | 查看包括远程在内的全部分支 |
远程同步
| 命令 | 说明 |
git fetch | 只拉取远程更新到本地记录,不动工作区,最安全 |
git pull | 拉取并合并(= fetch + merge),日常更新用它 |
git push | 推送当前分支到远程 |
git push -u origin <分支> | 首次推送新分支并绑定上游,之后只需 git push |
git remote -v | 查看远程仓库地址,push 不上去时先查它 |
回滚与撤销(救急)
| 命令 | 说明 |
git restore <文件> | 丢弃工作区某文件的未暂存改动(不可恢复,先想清楚) |
git restore --staged <文件> | 把文件移出暂存区,改动本身保留 |
git reset --soft HEAD~1 | 撤销上一次提交,改动回到暂存区,适合"提交早了" |
git reset --hard HEAD~1 | 撤销上一次提交并丢弃改动,危险命令,确认后再敲 |
git revert <提交id> | 生成一个反向提交抵消错误提交,已 push 的代码回滚用它,不改历史 |
git reflog | 查看所有 HEAD 变动记录,reset 误删后靠它找提交 id 救命 |
避坑提醒
1. 已经 push 的提交别用 reset 改历史,用 revert,否则协作者拉代码会冲突到怀疑人生。
2. --hard 和 restore 丢掉的改动没有回收站,敲之前先 git stash 或复制一份。
3. 真误删了别慌:只要提交过,git reflog 里找到 id,用 git reset --hard <id> 就能回来。