素材阁

Git 命令速查

共 57 条常用 Git 命令,按基础提交、分支操作、撤销回退、远程仓库、历史查看、暂存清理与 进阶场景分组,逐条给出命令与说明。支持搜索与分类筛选,点击命令即可复制。重点覆盖「改错了怎么退回去」与 「分支怎么合」两类高频问题。

基础与提交

仓库初始化、日常改动提交与同步。

命令说明
在当前目录初始化一个新仓库
克隆远程仓库到本地
查看工作区与暂存区状态
精简状态,一行一个文件
把指定文件加入暂存区
把当前目录所有改动加入暂存区
交互式选择要暂存的代码片段
提交暂存区内容并写提交信息
修改最近一次提交(内容或信息)
拉取远程并合并到当前分支
把本地提交推送到远程

分支操作

创建、切换、合并与删除分支。

命令说明
列出本地分支(当前分支带 *)
列出本地与远程全部分支
创建新分支(不切换)
切换到已有分支(新版推荐)
创建并切换到新分支
旧写法:创建并切换分支
把指定分支合并到当前分支
把当前分支变基到目标分支(历史更线性)
删除已合并的分支
强制删除分支(未合并也删)

撤销与回退

按「改动是否已提交、是否已推送到远程」选择合适的方式。

命令说明
丢弃工作区对某文件的修改
把文件移出暂存区(保留改动)
撤销最近 1 次提交,改动留在暂存区
撤销提交并取消暂存(改动留在工作区)
彻底回退到上一次提交(丢弃改动,慎用)
生成一个新提交来抵消指定提交(已推送时推荐)
把某文件恢复到指定提交版本

远程仓库

配置远程地址、拉取与推送。

命令说明
查看远程仓库地址
添加名为 origin 的远程仓库
修改远程仓库地址
拉取远程更新但不合并
首次推送并建立追踪关系
把本地标签推送到远程
删除远程分支

查看历史与差异

排查改动、对比版本与定位问题。

命令说明
单行显示提交历史
图形化展示所有分支的历史
查看某文件的历次改动内容
查看工作区与暂存区的差异
查看暂存区与最近提交的差异
查看某次提交的具体改动
逐行显示最后的修改者与提交

暂存与清理

临时保存未完成的改动,或清理未跟踪文件。

命令说明
把当前改动暂存起来,工作区恢复干净
连未跟踪的新文件一起暂存
列出所有暂存记录
恢复最近一次暂存并删除该记录
恢复暂存但保留记录
预演将删除哪些未跟踪文件
删除未跟踪的文件与目录(慎用)

标签与进阶

版本发布标签与常用进阶操作。

命令说明
列出所有标签
创建轻量标签
创建带说明的附注标签
切换到某标签对应的版本
把某个提交单独摘到当前分支
开始二分查找定位引入问题的提交
设置命令别名,如把 status 简写为 st
初始化并更新子模块

使用说明

把常用 Git 命令按场景(基础提交、分支、撤销回退、远程、历史查看、暂存清理、进阶)整理成一张可搜索的速查表,逐条给出命令与说明,点击即可复制。重点覆盖「改错了怎么退回去」与「分支怎么合」。

  1. 在搜索框输入命令或用途(如 commit、撤销、分支、rebase、stash),表格实时筛选。
  2. 或点分类按钮只看某一类场景。
  3. 「撤销与回退」区分了「改动是否已提交、是否已推送到远程」,按情况选择 restore / reset / revert。
  4. 点击命令即可复制,替换其中尖括号里的占位内容后执行。

常见问题

git reset 的 --soft、--mixed、--hard 有什么区别?
--soft 只撤销提交,改动保留在暂存区;--mixed(默认)撤销提交并取消暂存,改动留在工作区;--hard 连工作区改动一起丢弃,慎用(未提交的内容无法恢复)。
已经 push 的提交改错了怎么办?
不要用 reset 改写已推送的历史,改用 git revert <commit> 生成一个反向提交来抵消,历史保持完整、对协作者友好。若确定只有自己用的分支,才可用 reset 后强推。
merge 和 rebase 该怎么选?
merge 保留完整分支历史,产生合并提交;rebase 把当前分支的提交挪到目标分支之后,历史更线性但会改写提交记录。团队协作的公共分支优先用 merge,个人分支整理提交时用 rebase。
如何临时保存没做完的改动?
用 git stash 把改动暂存起来、工作区恢复干净,切分支或拉取后再 git stash pop 恢复;加 -u 可连未跟踪的新文件一起暂存。

延伸阅读

相关工具