Git 命令速查表
按分类整理的 Git 命令参考手册,支持搜索过滤
⚙️ 初始配置
git init在当前目录初始化一个新的 Git 仓库
git clone <url>克隆远程仓库到本地
git config --global user.name "名字"设置全局用户名
git config --global user.email "邮箱"设置全局邮箱
git config --list查看所有配置信息
git config --global core.editor "vim"设置默认编辑器
git config --global alias.co checkout设置命令别名
📝 基本操作
git status查看工作区和暂存区的状态
git add <file>将文件添加到暂存区
git add .将所有修改的文件添加到暂存区
git commit -m "消息"提交暂存区的文件并附上提交消息
git commit -am "消息"添加并提交已跟踪的文件(跳过 add 步骤)
git diff查看工作区与暂存区的差异
git diff --staged查看暂存区与最近提交的差异
git diff <branch1>..<branch2>比较两个分支之间的差异
git restore <file>撤销工作区的修改(恢复到暂存区状态)
git restore --staged <file>取消暂存(从暂存区移回工作区)
git rm <file>删除文件并将删除操作添加到暂存区
git mv <old> <new>重命名或移动文件
🌿 分支管理
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 2.23+ 推荐)
git switch -c <name>创建并切换到新分支(Git 2.23+)
git branch -m <old> <new>重命名分支
🔀 合并操作
git merge <branch>将指定分支合并到当前分支
git merge --no-ff <branch>使用非快进模式合并(保留分支历史)
git merge --abort中止当前合并操作
git cherry-pick <commit>将指定的提交应用到当前分支
git rebase <branch>变基:将当前分支的提交重新应用到目标分支上
git rebase -i <commit>交互式变基:可以编辑、合并、删除提交
git rebase --abort中止变基操作
git rebase --continue解决冲突后继续变基
🌐 远程仓库
git remote -v查看所有远程仓库的 URL
git remote add <name> <url>添加远程仓库
git remote remove <name>移除远程仓库
git fetch <remote>从远程仓库拉取数据(不合并)
git pull <remote> <branch>拉取远程分支并合并到当前分支
git pull --rebase使用变基方式拉取远程更新
git push <remote> <branch>推送本地分支到远程仓库
git push -u origin <branch>推送并设置上游分支(首次推送)
git push --force强制推送(覆盖远程历史,谨慎使用)
git push --tags推送所有标签到远程
📦 暂存管理
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 log查看完整提交历史
git log --oneline简洁模式查看提交历史(每行一条)
git log --graph以图形方式查看分支合并历史
git log --oneline --graph --all图形化显示所有分支的简洁历史
git log -n <数量>只显示最近 N 条提交记录
git log --author="名字"按作者筛选提交记录
git log --since="2 weeks ago"查看最近两周的提交记录
git log <file>查看指定文件的提交历史
git log -p <file>查看指定文件的每次提交差异
git blame <file>查看文件每一行最后是谁修改的
git show <commit>查看某次提交的详细信息
git shortlog按作者汇总提交记录
↩️ 撤销操作
git reset HEAD <file>取消暂存指定文件
git reset --soft HEAD~1撤销最后一次提交,保留修改在暂存区
git reset --mixed HEAD~1撤销最后一次提交,保留修改在工作区
git reset --hard HEAD~1撤销最后一次提交,丢弃所有修改(危险)
git revert <commit>创建一个新提交来撤销指定提交(安全)
git revert -n <commit>撤销指定提交但不自动提交
git reflog查看所有操作记录(可用于恢复误删的提交)
git clean -fd删除所有未跟踪的文件和目录
git clean -fdn预览将要删除的未跟踪文件(不实际删除)
git commit --amend -m "新消息"修改最后一次提交的消息
git commit --amend --no-edit将暂存的修改追加到最后一次提交