📖 Git 命令速查

按使用场景分组,点击"复制"按钮一键复制命令

提交相关
查看当前状态
git status
添加单个文件到暂存区
git add <file>
添加所有变更到暂存区
git add .
提交到本地仓库
git commit -m "提交信息"
修改上次提交(追加文件或改信息)
git commit --amend
查看未暂存的改动
git diff
查看已暂存的改动
git diff --cached
分支相关
查看所有分支(含远程)
git branch -a
创建新分支
git branch <branch-name>
切换分支
git checkout <branch-name>
创建并切换分支
git checkout -b <branch-name>
合并指定分支到当前分支
git merge <branch-name>
删除本地分支
git branch -d <branch-name>
删除远程分支 ⚠️
git push origin --delete <branch-name>
撤销与回退
撤销工作区修改 ⚠️
git checkout -- <file>
撤销暂存区文件(保留工作区修改)
git reset HEAD <file>
撤销上次提交(保留修改)
git reset --soft HEAD^
撤销上次提交(丢弃修改)⚠️
git reset --hard HEAD^
用新提交回退指定提交(保留历史,安全回退)
git revert <commit-id>
远程与协作
克隆远程仓库
git clone <url>
拉取远程更新
git pull origin <branch>
推送本地提交
git push origin <branch>
仅拉取远程状态(不合并)
git fetch origin
查看提交历史(单行)
git log --oneline
查看提交拓扑图
git log --oneline --graph --all
应用其他分支的指定提交
git cherry-pick <commit-id>
临时保存(Stash)
暂存当前未提交改动(工作区变干净)
git stash
查看暂存列表
git stash list
恢复最近一次暂存
git stash pop
删除指定暂存 ⚠️
git stash drop
标签(Tag)
查看所有标签
git tag
创建带注释标签
git tag -a <tag-name> -m "说明"
推送标签到远程
git push origin <tag-name>
删除本地标签
git tag -d <tag-name>
配置与忽略
设置全局用户名
git config --global user.name "你的名字"
设置全局邮箱
git config --global user.email "you@example.com"
查看当前配置
git config --list
停止跟踪文件但保留本地(配合 .gitignore)
git rm --cached <file>
检查路径是否已被忽略
git check-ignore <path>
关闭路径名转义(中文文件名不乱码)
git config --global core.quotepath false
设置提交信息编码为 UTF-8
git config --global i18n.commitencoding utf-8
设置日志输出编码为 UTF-8(修复 git log 中文转义)
git config --global i18n.logoutputencoding utf-8