目录1. 引言2. 取消与恢复操作取消解决冲突查看提交历史恢复某个文件取消暂存取消 add查看文件状态查看文件差异添加文件到暂存区提交代码修改最近一次提交信息查看当前分支新建并切换分支切换分支拉取远程更新推送代码到远程查看远程仓库克隆远程仓库查看某个文件的提交历史查看某次提交的具体改动暂存部分改动交互式撤销某次提交保留改动3. 提交回退软回退保留代码硬回退删除代码回到指定提交临时回到历史版本把某一次提交拿过来4. 临时存储Stash5. Rebase 与分支管理取消 Rebase删除本地分支删除远程分支6. 误操作恢复与远程同步误执行 git reset --hard 后恢复远程覆盖本地清除远程已删除的引用7. 总结1. 引言Git 是日常开发中不可或缺的版本控制工具但它的命令繁多尤其是涉及撤销、回退、分支管理等操作时很多开发者容易混淆。本文整理了一份 Git 常用命令速查手册涵盖冲突取消、提交历史查看、文件恢复、回退提交、分支管理、临时存储等高频场景帮助你快速定位并解决问题。2. 取消与恢复操作取消解决冲突gitmerge--abort当合并过程中出现冲突且你不想继续解决时使用该命令取消合并回到合并前的状态。查看提交历史gitloggitlog--onelinegit log显示完整的提交历史git log --oneline以简洁的单行格式展示便于快速浏览。恢复某个文件gitrestore src/App.vue将指定文件恢复到最近一次提交的状态。若想恢复全部文件gitrestore.取消暂存取消 addgitrestore--staged.等同于gitreset HEAD.将已暂存的文件取消暂存回到工作区。查看文件状态gitstatus查看当前工作区与暂存区的状态了解哪些文件被修改、已暂存或未跟踪是日常使用频率最高的命令之一。查看文件差异gitdiffgitdiff--stagedgit diff查看工作区与暂存区之间的差异git diff --staged查看已暂存内容与最近一次提交之间的差异。添加文件到暂存区gitadd.gitaddsrc/App.vuegit add .将所有改动添加到暂存区git add 文件只添加指定文件。提交代码gitcommit-m提交说明gitcommit-am提交说明git commit -m提交暂存区内容git commit -am跳过暂存直接提交所有已跟踪文件的改动。修改最近一次提交信息gitcommit--amend-m新的提交说明修改最近一次提交的说明信息适合提交后发现写错说明的场景。查看当前分支gitbranch列出本地所有分支当前所在分支前会带有*标记。新建并切换分支gitcheckout-bfeature/xxx等同于先git branch feature/xxx再git checkout feature/xxx一步完成新建并切换分支。切换分支gitcheckout mastergitswitch mastergit switch是 Git 2.23 之后更语义化的切换分支命令推荐使用。拉取远程更新gitpullgitpull origin master拉取远程分支的最新改动并合并到当前分支。git pull本质上是git fetchgit merge。推送代码到远程gitpushgitpush origin master将本地分支的提交推送到远程仓库。首次推送新分支时可能需要gitpush-uorigin master-u参数会建立本地分支与远程分支的跟踪关系之后可直接使用git push。查看远程仓库gitremote-v查看当前配置的远程仓库地址确认origin指向是否正确。克隆远程仓库gitclone https://github.com/user/repo.git将远程仓库完整复制到本地包含所有分支与提交历史。查看某个文件的提交历史gitlog--oneline-- src/App.vue只查看指定文件的提交记录便于定位某个文件的改动来源。查看某次提交的具体改动gitshow abc1234查看指定提交的详细改动内容包括修改了哪些文件以及具体的代码差异。暂存部分改动交互式gitadd-p以交互方式逐个选择要暂存的改动片段适合一个文件包含多处独立修改、只想提交其中一部分的场景。撤销某次提交保留改动gitrevert abc1234生成一次新的提交来撤销指定提交的改动适合已经推送到远程、不能直接 reset 的场景。与git reset不同git revert不会改写历史。3. 提交回退软回退保留代码gitreset--softHEAD~1回退到上一个提交但保留所有代码改动在暂存区适合撤销提交但不想丢失修改的场景。硬回退删除代码gitreset--hardHEAD~1回退到上一个提交并丢弃所有未提交的改动谨慎使用。回到指定提交gitreset--hardabc1234将当前分支强制回退到指定提交abc1234为提交哈希工作区与暂存区都会同步。临时回到历史版本gitcheckout abc1234切换到指定提交的临时状态分离头指针适合查看历史代码不会影响当前分支。把某一次提交拿过来gitcherry-pick abc1234将指定提交的改动应用到当前分支适合从其他分支挑选特定提交。4. 临时存储Stash# 保存当前改动gitstash# 查看暂存列表gitstash list# 恢复最近一次暂存并删除该记录gitstash pop# 恢复但不删除暂存记录gitstash apply当需要切换分支但不想提交当前改动时使用git stash临时保存之后可随时恢复。5. Rebase 与分支管理取消 Rebasegitrebase--abort不想继续变基操作时使用该命令取消并回到变基前的状态。删除本地分支gitbranch-dxxx删除已合并的分支。若分支未合并需强制删除gitbranch-Dxxx删除远程分支gitpush origin--deletexxx删除远程仓库中的指定分支。6. 误操作恢复与远程同步误执行 git reset --hard 后恢复gitreflog查看操作历史找到要回退的提交记录如HEAD{1}然后gitreset--hardHEAD{1}git reflog记录了所有 HEAD 的移动历史是误操作后的救命稻草。远程覆盖本地gitfetch origingitreset--hardorigin/xxx先拉取远程最新信息再强制让本地分支与远程分支完全一致。清除远程已删除的引用gitfetch--prune或针对特定分支gitremote prune origin当远程分支已被删除或改名但本地缓存仍保留时使用该命令清理避免后续操作冲突。7. 总结Git 命令虽多但掌握核心的撤销、回退、分支管理命令后日常开发中的大部分场景都能从容应对。建议将本文收藏为速查手册遇到问题时快速查阅。关键命令汇总如下场景命令查看文件状态git status查看文件差异git diff添加文件到暂存区git add .提交代码git commit -m 说明修改最近提交信息git commit --amend -m 说明取消合并冲突git merge --abort查看提交历史git log --oneline恢复单个文件git restore src/App.vue取消暂存git restore --staged .软回退git reset --soft HEAD~1硬回退git reset --hard HEAD~1临时存代码git stash/git stash pop新建并切换分支git checkout -b feature/xxx切换分支git switch master拉取远程更新git pull推送代码到远程git push -u origin master查看远程仓库git remote -v克隆远程仓库git clone url查看文件提交历史git log --oneline -- 文件查看某次提交改动git show abc1234撤销某次提交git revert abc1234取消变基git rebase --abort删除本地分支git branch -d xxx删除远程分支git push origin --delete xxx误操作恢复git refloggit reset --hard HEAD{1}远程覆盖本地git fetch origingit reset --hard origin/xxx清理远程引用git fetch --prune