当前位置: 首页 > news >正文

Git stash命令的使用说明及案例分析

Git stash命令在版本控制系统操作中作为一个非常有用的功能,允许用户临时保存当前工作目录中的更改并清理工作目录,使其回到最近的提交状态,便于切换分支或暂时撤回更改,而不丢失工作进度。

基本使用

创建Stash

git stash

这个命令将会保存工作目录和暂存区的当前更改。执行这个命令后,你的工作目录将是干净的,与最后一次提交的状态相同。

查看Stash列表

git stash list

此命令显示了所有的stash项。默认情况下,stash项被命名为 stash@{0}stash@{1}stash@{2}, 依此类推,其中 stash@{0}是最新的stash。

应用Stash

git stash apply

该命令恢复最新的stash内容。如果需要恢复指定的stash项,可以使用:

git stash apply stash@{n}

其中 n是要恢复的stash的编号。

删除Stash项

git stash drop stash@{n}

通过此命令可以删除指定的stash项。

恢复Stash并删除Stash项

git stash pop

这个命令将应用最上面的stash并将其从stash列表中删除。

清空所有Stash项

git stash clear

执行后,所有缓存的stash项都会被删除。

高级使用

保存未暂存的更改
默认情况,git stash不会保存未暂存的更改。如果也想保存这些更改,可以使用:

git stash -k
git stash --keep-index

包含未跟踪的文件
如果工作目录有未跟踪的文件,可以使用以下命令将它们也加入到stash中:

git stash -u
git stash --include-untracked

创建带有描述的stash

git stash save "Your custom message"

这样可以为stash项添加一个描述,方便以后识别。

案例分析:

假定你正在开发一个功能,在开发的中途,你需要切换到其他分支处理一个紧急的bug。

  1. 保存当前进度
    首先存储当前的工作进度,使工作目录干净:
git stash
  1. 切换分支修复bug
git checkout fix-bug-branch
# ... 解决bug ...
git commit -am "Fix bug"
  1. 返回之前的工作
git checkout feature-branch
  1. 恢复进度
    接着,你可以使用以下命令恢复你的工作进度:
git stash pop

此时,之前保存的更改将会重新应用到工作目录,并且该更改会从stash列表中删除。

http://www.rkmt.cn/news/45067.html

相关文章:

  • 免费域名
  • AI元人文:理论之实践——构建人机价值协同的文明操作系统
  • 2025年东莞横沥到乌鲁木齐物流专线公司权威推荐榜单:横沥到郑州物流/横沥到南通物流/横沥到开封物流源头公司精选
  • 常见的算法类型
  • Navicat Premium 17 破解版下载及安装使用教程
  • 2025年知名的昆明泡沫箱厂家推荐及采购指南
  • P11089 [ROI 2021] 手机游戏 (Day 1) 笔记
  • 实用指南:JavaScript Reference Type解读
  • 大模型法律知识评估——Qwen3-0.6B到8B vs LawLLM-7B
  • C 数组
  • 网络层-IP内容报涉及到的两张表:路由表&ARP表
  • 2025年靠谱的烘箱设备行业内知名厂家排行榜
  • 关于开展博客专家及优质作者身份专项清理的公告 - 实践
  • 2025年知名的保温管道品牌厂家排行榜
  • 2025年热门的泡沫包装箱厂家推荐及采购指南
  • 2025年知名的内衣裤子衣帽间收纳高口碑热销推荐榜
  • 详细介绍:基于深度学习的数字图像分类实验与分析
  • 关闭windows 更新驱动程序的方法
  • 洛谷 P14460 【MX-S10-T1】『FeOI-4』寻雾启示 题解
  • P10789 [NOI2024] 登山 解题报告
  • 2025年11月短视频矩阵获客公司权威榜:五强对比评测助你精准选型
  • 2025年11月中国电线电缆厂家推荐榜:五强排名与性能对比评价
  • 2025年11月免费素材网站推荐榜:从版权到画质五强全程护航创意
  • 2025年11月环保板材品牌推荐榜:艺术高定环保榜
  • C#记录类型中意外的数据不一致问题解析
  • 2025.10.10博客
  • HEAD^n和HEAD~n的区别
  • 【比赛游记】2025 ICPC 南京站游记
  • 为啥ls -d */列出所有目录
  • 我的旮旯回忆录