Git 命令速查手册

文本处理 完全免费 🔍 关键字搜索 📋 命令一键复制 📥 离线可用 🌙 支持黑夜模式

60+ 常用 Git 命令按场景分成 9 大类:配置、提交、分支、远程、撤销回滚、合并变基、标签、储藏、进阶技巧。支持关键字即时搜索与分类切换,点「复制」直接带走命令。

类别程序员 · 文档速查
运行方式纯前端 · 离线运行
命令数量9 大类 · 60+ 条常用命令
数据存储无存储

📘 Git 命令速查

按分类切换或直接搜索,命令可一键复制

⚙️ 配置

git config --global user.name "name" 设置全局用户名
git config --global user.email "email" 设置全局邮箱
git config --global core.autocrlf input 提交时 LF 换行,防止 CRLF 警告
git config --global init.defaultBranch main 默认分支名改为 main
git config --global alias.co checkout 配置别名 co 代替 checkout
git config --list 查看所有配置

核心特性

9 大类 60+ 常用命令
关键字即时搜索
分类标签快速筛选
命令一键复制
破坏性命令明确标注
撤销回滚场景对照
支持黑夜模式与离线使用

Git 命令为什么总记不住?

Git 的日常操作其实只有十几条命令,但一旦遇到「提交错了想撤回」「改乱了想丢弃」「分支合错了想重来」这类场景,就会立刻卡壳:reset --soft、reset --hard、revert、restore、checkout 全都和「撤销」有关,但作用范围与后果完全不同,用错一个就可能丢代码。

这份手册按使用场景而非字母顺序组织:配置、提交、分支、远程、撤销回滚、合并变基、标签、储藏、进阶技巧共 9 大类 60+ 条命令,每条都配一句人话说明。找不到具体命令时,直接在搜索框输入关键词(如 reset、合并、stash)就能即时过滤出相关条目。

「撤销回滚」这一类特意做了场景对照:想保留改动/不保留改动、想单独撤销某次提交/想整体回退,都能找到对应写法。破坏性命令(如 reset --hard、clean -fd)已明确标注「慎用」,执行前请确认改动已备份。所有内容为静态文档,无任何网络请求,可离线使用。

怎么用

  1. 按场景切换
    点顶部「配置 / 提交 / 分支 / 远程 / 撤销回滚 …」标签切换到对应场景,或点「全部」查看所有命令。
  2. 搜索命令
    在搜索框输入关键词(如 reset、合并),列表会实时过滤出相关命令。
  3. 复制使用
    点击命令右侧的「复制」按钮,命令即被复制,粘贴到终端执行。
  4. 注意警示
    「撤销回滚」里标注慎用的命令会丢弃改动,执行前先确认已提交或备份。

使用技巧

  • git reset --hard 会直接丢弃未提交改动,执行前务必确认。
  • 想安全撤销已推送的提交,用 git revert 而不是 reset。
  • 误操作后别慌,git reflog 通常能找回被 reset 掉的提交。
  • git restore 与 git switch 是 Git 2.23+ 推出的新命令,语义比 checkout 更清晰。
  • git fetch --all 只下载不合并,排查远程差异时比 pull 更安全。
  • 提交前用 git diff 与 git status 确认改动范围,能避免误提交。

更新记录

  • v1.0 2026-08-31 首次上线:9 大类 60+ 常用 Git 命令速查、关键字即时搜索、分类标签筛选、命令一键复制、破坏性命令标注。

常见问题

reset、revert、restore 到底有什么区别?
reset 移动分支指针,用来回退提交历史(--soft 保留改动在暂存区、--hard 丢弃改动);revert 生成一次反向的新提交来抵消指定提交,适合已推送的场景;restore 只针对工作区/暂存区的文件,不影响提交历史。
已经 push 的提交还能撤销吗?
可以,但不建议用 reset 改写已推送的历史,因为会导致其他人本地历史分叉。安全做法是用 git revert <hash> 生成反向提交,再正常推送。
误删分支或 reset 掉提交后还能救回来吗?
通常可以。git reflog 会记录 HEAD 的移动轨迹,找到目标提交的 hash 后再 git reset --hard <hash> 或 git branch <name> <hash> 即可恢复。越快处理成功率越高,因为未被引用的对象最终会被 Git 垃圾回收。
git pull 和 git fetch 有什么区别?
fetch 只把远程更新下载到本地远程分支,不改动你的工作区;pull 相当于 fetch 之后再 merge(或 rebase),会直接改变当前分支。想先看清差异再合并,用 fetch 更稳妥。
分支合并用 merge 还是 rebase?
merge 保留完整的分支历史与合并点,适合多人协作的主干;rebase 把提交「搬」到目标分支之后,历史更线性整洁,适合整理本地未推送的提交。已推送的公共分支不要 rebase,否则会打乱他人历史。
这份手册能离线使用吗?
可以。点顶部「📥 下载离线版」会导出包含全部命令的自包含 HTML 文件,不联网也能打开查阅。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码