Git 命令速查表
按场景分组的常用 Git 命令,一页搞定。可直接 打印 或 另存为 PDF 分享给团队。
起步与克隆
git init在当前目录初始化新仓库
git clone <url>克隆远程仓库到本地
git clone --depth=1 <url>浅克隆,只取最新一次提交
git clone -b <branch> <url>克隆并检出指定分支
暂存与提交
git status查看工作区与暂存区状态
git add <file>暂存指定文件
git add -A暂存全部改动(含新增/删除)
git add -p交互式分块暂存,逐段确认
git commit -m "msg"提交暂存内容
git commit --amend修改最后一次提交(信息/文件)
查看历史
git log --oneline --graph图形化精简历史
git log -p <file>查看某文件的历次改动
git diff工作区 vs 暂存区差异
git diff --staged暂存区 vs 上次提交
git show <commit>查看某次提交的详情
git blame <file>逐行显示最后修改者与提交
分支
git branch列出本地分支
git switch -c <name>新建并切换到新分支
git switch <name>切换到已有分支
git merge <branch>合并指定分支到当前分支
git branch -d <name>删除已合并的分支
git branch -D <name>强制删除分支(未合并也删)
远程协作
git remote -v查看已配置的远程仓库
git fetch拉取远程更新但不合并
git pull --rebase拉取并以变基方式合并
git push -u origin <branch>推送并设置上游分支
git push --force-with-lease安全强推(远程有他人提交则拒绝)
撤销与回退
git restore <file>丢弃工作区中该文件的改动
git restore --staged <file>取消暂存,保留工作区改动
git reset --soft HEAD~1撤销上次提交,改动回到暂存区
git reset --hard HEAD~1回退并丢弃改动(慎用)
git revert <commit>生成反向提交,安全撤销已推送内容
储藏
git stash暂存当前改动,恢复干净工作区
git stash -u储藏时包含未跟踪文件
git stash list列出所有储藏记录
git stash pop恢复最近储藏并删除该记录
git stash apply恢复最近储藏但保留记录
变基与挑拣
git rebase <base>把当前分支变基到 base 最新提交
git rebase -i HEAD~3交互式整理最近 3 次提交
git cherry-pick <commit>把指定提交复制到当前分支
git rebase --abort放弃本次变基,回到变基前
标签
git tag列出所有标签
git tag -a v1.0 -m "msg"创建带说明的附注标签
git push origin --tags推送所有本地标签到远程
git tag -d v1.0删除本地标签
排查与急救
git reflog查看 HEAD 移动记录,找回误删提交
git fsck --lost-found扫描悬空对象,抢救丢失内容
git bisect start / good / bad二分查找引入 bug 的提交
git log -S"keyword"搜索引入或删除某字符串的提交
忽略与清理
git check-ignore -v <file>查看某文件为何被忽略
git rm --cached <file>停止跟踪但保留本地文件
git clean -nd预览将删除的未跟踪文件
git clean -fd删除未跟踪文件(不可恢复,慎用)
常用配置
git config --global user.name "..."设置提交者姓名
git config --global pull.rebase true让 pull 默认使用变基
git config --global core.autocrlf trueWindows 下自动转换换行符
git config --global alias.lg "log --oneline --graph"设置命令别名,如 git lg