Git常用命令【扩展】

发布时间:2026/10/23 4:53:57

Git常用命令【扩展】 目录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
延伸阅读

更多相关文章

2026/10/23 4:48:57

基于 Java Spring Boot 的车队管理系统设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/23 4:48:57

JANUS:针对 LEO 卫星网络中波束跳变的拒绝服务攻击

大家读完觉得有帮助记得关注和点赞!!!摘要 低地球轨道(LEO)卫星网络正越来越多地用于提供全球连接。然而,每颗卫星的资源有限,需要根据地理和时间上变化的需求进行分配。波束跳变通过将卫星的服…

2026/10/23 9:04:31

《AI Agent原理与实战》2026版 第21课 多 Agent 设计模式

本文收录于专栏 《AI Agent原理与实战》2026版 —— 专栏系统覆盖 AI Agent 的记忆、工具、插件与实战,点击订阅可跟踪后续更新。 本课定位:单个 Agent 的天花板到了,进入多体世界。本课讲多 Agent 系统的五种拓扑、四大成败因子(…

2026/10/23 9:04:31

【电路设计深度解析】第 2 篇:线性电路系统化求解 —— 节点电压法、回路电流法、戴维南定理的选型策略与实战对比

专栏定位:本专栏面向电子工程从业者与高年级学生,不讲空洞的公式推导,只讲「拿到一张原理图 → 用什么定理 → 怎么列方程 → 怎么算参数 → 怎么判断对错 → 有哪些坑」的完整工程化流程。每篇配一个完整可复现的电路实例,附详细计算过程与元器件选型依据。 开篇承接:为什…

2026/10/23 9:04:31

在 IDE 里写代码和在网页里聊代码,差的就是这「最后一秒」

在 IDE 里写代码和在网页里聊代码,差的就是这「最后一秒」 引言 很多团队试过把通用大模型当「编程外挂」:开一个网页对话,复制代码过去问,再把答案贴回 IDE。流程跑得通,但每一次上下文切换都在偷走你的心流。飞算J…

2026/10/23 9:04:31

Moxa PROFINET 网络全家桶:从交换机到无线 AP,不止稳,更超值

在工业自动化现场,PROFINET 已经成为设备层联网的主流标准。但真正把一张网络"跑稳、跑顺",却往往是项目落地中最让人头疼的一环。Moxa 推出 PROFINET 网络全家桶,用一句话概括就是:不止稳,更超值。 您是否经…

2026/10/23 9:04:31

Windows 11 或 10:如何删除、创建和格式化分区

本篇教你如何在 Windows 11 或 10 上,对已安装的机械硬盘或 SSD 进行分区的删除、创建或格式化,把它们的全部存储容量认领回来、用起来。 设想你现在的 PC 装了一块传统机械盘,而你现在想再添一块硬盘或 SSD。那新的一块自然用来启动系统,旧的那块就纯粹当数据仓用。等把操…

2026/10/23 8:59:30

Qt纯C++实现人工神经网络与Excel双向联动

简介:本资源是一套基于Qt框架实现人工神经网络并集成Excel数据交互的完整项目实践包,面向具备C和基础机器学习知识的中高级开发者,解决环境预测类应用中GUI界面开发、BP神经网络建模与外部数据协同处理的实际问题。压缩包共22个文件&#xff…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/23 0:02:26

Verilog实现FPGA密码锁:矩阵键盘与状态机设计实战

说实话,这几年接触了不少想入门FPGA的朋友,如果你问哪个项目能一口气把Verilog的核心基本功串起来,我通常会推荐电子密码锁。这个项目看着不起眼,却把矩阵键盘扫描、按键消抖、状态机设计、动态显示刷新、外设控制这些数字逻辑里的…

2026/10/23 0:02:26

数据服务监控运维实战:从指标体系到告警治理与故障排查

周末凌晨两点,手机震了。第一反应是“数据服务挂了”。打开电脑看了下,果然,某张核心报表的数据产出时间已经超过SLA两小时,下游三个业务方连着发来问询。这种场景,做过大数据运维的人都不会陌生。数据服务的监控与运维…

2026/10/23 0:02:26

FreeRTOS任务通知实战详解:内核原理、API与避坑指南

裸机编程切到RTOS之后,任务之间的通信和同步永远是躲不开的坎。前面聊过队列、信号量、互斥锁、事件组,这次把FreeRTOS任务通知(Task Notification)单独拎出来讲透。原因很简单:任务通知是FreeRTOS里最容易用错、也最容…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑