←返回首页

Git命令速查 - MyTools在线工具

MyTools

Git 命令速查

全部
命令
说明
git init
在当前目录初始化仓库
git clone <url>
克隆远程仓库
git config --global user.name "名"
设置全局用户名
git config --global user.email "邮箱"
设置全局邮箱
git config --global init.defaultBranch main
新仓库默认分支设为 main
git status
查看工作区状态
git add <文件>
暂存指定文件
git add .
暂存全部改动
git commit -m "说明"
提交暂存区内容
git commit -am "说明"
跳过 add,直接提交已跟踪文件的改动
git commit --amend
修补上一次提交(改说明或补文件)
git diff
查看未暂存的改动
git diff --staged
查看已暂存未提交的改动
git branch
列出本地分支
git branch <名>
创建分支
git switch <名>
切换分支
git switch -c <名>
创建并切换分支
git merge <名>
把指定分支合并进当前分支
git rebase <基线>
把当前分支变基到指定基线
git branch -d <名>
删除已合并的分支
git branch -D <名>
强制删除分支
git remote -v
查看远程仓库地址
git remote add origin <url>
添加远程仓库
git fetch
拉取远程更新但不合并
git pull
拉取并合并(= fetch + merge)
git pull --rebase
拉取并变基,避免多余合并提交
git push
推送当前分支
git push -u origin <名>
首次推送并建立跟踪关系
git push --force-with-lease
安全强推(远程有他人提交时拒绝)
git log --oneline
单行简洁日志
git log --graph --oneline --all
带分支图的全部历史
git show <提交>
查看某次提交详情
git blame <文件>
逐行查看最后修改者
git reflog
查看 HEAD 移动史(找回丢失提交)
git restore <文件>
丢弃工作区改动
git restore --staged <文件>
取消暂存(保留改动)
git reset --soft HEAD~1
回退 1 次提交,改动保留在暂存区
git reset --mixed HEAD~1
回退 1 次提交,改动保留在工作区
git reset --hard HEAD~1
回退 1 次提交并丢弃全部改动(危险)
git revert <提交>
生成反向提交抵消指定提交(安全)
git checkout <提交> -- <文件>
从历史提交恢复单个文件
git stash
把当前改动存入暂存栈
git stash pop
恢复最近一次暂存的改动并删除记录
git stash list
查看暂存栈
git tag <名>
打轻量标签
git tag -a v1.0 -m "说明"
打附注标签
git push --tags
推送全部标签
git cherry-pick <提交>
摘取单个提交到当前分支

Git 命令速查:常用命令按场景分组(撤销、分支、远端、暂存、回退),Git 操作卡壳时的一分钟检索。

适用场景

  • 撤销类操作速查:reset/revert/checkout 的分工
  • 分支操作:rebase 与 merge 的选择与命令
  • 救急场景:找回误删分支、撤销未推送的提交

常见问题

reset 和 revert 怎么选?

reset 移动分支指针(会改历史,未推送时用);revert 生成一个"反向提交"抵消目标提交(不改历史,已推送时用)。已共享的历史用 revert,这是黄金法则。

提交写错了还没推送怎么补救?

改最后一条:git commit --amend(改信息或补文件);彻底重来:reset 回上一条重做。已推送到共享分支的,别 amend,老老实实 revert。

相关工具

📱打开小程序 · 50 款工具随身用›