Git Cheatsheet
Git 命令速查手册,按场景分类快速查找。
初始化与配置
git init在当前目录初始化新的 Git 仓库
git clone <url>克隆远程仓库到本地
git clone <url> <dir>克隆远程仓库到指定目录
git config --global user.name "名字"设置全局用户名
git config --global user.email "邮箱"设置全局邮箱
git config --list查看所有配置信息
git config --global alias.co checkout设置命令别名
基本操作
git status查看工作区和暂存区状态
git add <file>将文件添加到暂存区
git add .将所有修改添加到暂存区
git add -p交互式选择要暂存的修改
git commit -m "消息"提交暂存区的修改
git commit -am "消息"添加并提交已跟踪文件的修改
git commit --amend修改最近一次提交
git commit --amend --no-edit修改最近一次提交但不修改消息
分支管理
git branch列出本地分支
git branch -a列出所有分支(含远程)
git branch <name>创建新分支
git branch -d <name>删除已合并的分支
git branch -D <name>强制删除分支
git checkout <branch>切换到指定分支
git checkout -b <name>创建并切换到新分支
git switch <branch>切换分支(新命令)
git switch -c <name>创建并切换到新分支(新命令)
git merge <branch>将指定分支合并到当前分支
git merge --no-ff <branch>非快进方式合并(保留合并记录)
git rebase <branch>变基:将当前分支变基到目标分支
git rebase -i <commit>交互式变基
远程操作
git remote -v查看远程仓库信息
git remote add origin <url>添加远程仓库
git remote set-url origin <url>修改远程仓库 URL
git fetch从远程获取最新信息(不合并)
git fetch --all获取所有远程仓库的最新信息
git pull拉取远程更新并合并
git pull --rebase拉取远程更新并变基
git push推送本地提交到远程
git push -u origin <branch>推送并设置上游分支
git push origin --delete <branch>删除远程分支
git push --force强制推送(谨慎使用)
查看历史
git log查看提交历史
git log --oneline简洁模式查看提交历史
git log --graph --oneline图形化查看分支合并历史
git log -n <num>查看最近 N 条提交
git log --author="名字"按作者筛选提交
git log --since="2 weeks ago"按时间筛选提交
git log -p <file>查看指定文件的提交历史和差异
git blame <file>查看文件每行的最后修改信息
git diff查看工作区和暂存区的差异
git diff --staged查看暂存区和上次提交的差异
git diff <branch1> <branch2>查看两个分支的差异
git show <commit>查看某次提交的详细信息
撤销与回退
git restore <file>撤销工作区修改(新命令)
git restore --staged <file>取消暂存(新命令)
git checkout -- <file>撤销工作区修改(旧命令)
git reset HEAD <file>取消暂存(旧命令)
git reset --soft <commit>回退到指定提交,保留修改在暂存区
git reset --mixed <commit>回退到指定提交,保留修改在工作区
git reset --hard <commit>回退到指定提交,丢弃所有修改
git revert <commit>创建新提交来撤销指定提交
git revert -n <commit>撤销但不自动提交
git clean -fd删除未跟踪的文件和目录
git clean -fdn预览将删除的未跟踪文件
暂存与储藏
git stash暂存当前修改
git stash save "描述"暂存并添加描述
git stash list查看所有暂存
git stash pop恢复最近一次暂存并删除
git stash apply恢复最近一次暂存但不删除
git stash apply stash@{n}恢复指定暂存
git stash drop stash@{n}删除指定暂存
git stash clear删除所有暂存
git stash branch <name>基于暂存创建新分支
标签管理
git tag列出所有标签
git tag <name>创建轻量标签
git tag -a <name> -m "消息"创建附注标签
git tag <name> <commit>给指定提交打标签
git tag -d <name>删除本地标签
git push origin <tag>推送标签到远程
git push origin --tags推送所有标签到远程
git push origin --delete tag <name>删除远程标签
高级操作
git cherry-pick <commit>将指定提交应用到当前分支
git cherry-pick <c1>..<c2>将多个提交应用到当前分支
git reflog查看所有操作记录(可用于恢复丢失提交)
git bisect start启动二分查找定位 Bug
git bisect good <commit>标记正常提交
git bisect bad <commit>标记问题提交
git worktree add <dir> <branch>创建工作树(多分支同时工作)
git submodule add <url>添加子模块
git submodule update --init初始化并更新子模块
使用说明
命令分类
本速查手册按使用场景将 Git 命令分为九大类:初始化与配置、基本操作、分支管理、远程操作、查看历史、撤销与回退、暂存与储藏、标签管理、高级操作,方便按场景快速定位
搜索功能
顶部搜索框支持按命令文本或描述进行模糊匹配(基于 Fuse.js),输入关键词后会自动在所有分类中筛选包含匹配命令的分类,未匹配到命令的分类会被隐藏
复制命令
鼠标悬停在命令行上时右侧会出现复制按钮,点击即可复制完整命令到剪贴板,复制成功后会在右上角弹出提示。命令中带尖括号的占位符(如 <file>、<url>)需要替换为实际值后使用