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

【git】 贮藏 stash

贮藏是我在sourcetree上看到的名词。之前只是浅浅的用来收藏一下修改的文件,没有完整的使用过。今天有幸使用了一次就来展开说说。

使用原因就不赘述了,错误的操作少提为好,操作步骤如下:

  1. 查看贮藏列表
    git stash list
    #输出:
    #stash@{0}: On issue-19-1-1: XXXXXXX
    
  2. 查看储藏的文件差异:
    git stash show stash@{0} --stat
     js/common/xx.js | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
  3. 应用储藏的文件git stash apply stash@{0}
  4. 提交更改
    git add .
    git commit -m 'chore: ...'
    git push
    
  5. 删除储藏项git stash drop stash@{0}

Git Stash相关

Git Stash:暂存工作,灵活切换

在 Git 工作流程中,我们常常遇到需要临时中断当前工作、切换到其他任务的情况。git stash 是一个非常实用的命令,它允许你将当前未提交的更改暂存起来,以便稍后恢复,从而让你能够更灵活地管理代码变更。

基本概念

git stash 的核心功能是将当前工作目录和暂存区中的更改保存到一个栈中,这个栈被称为 “stash stack”。它就像一个临时的存储空间,你可以将未完成的工作放在这里,等需要时再取出来继续工作。

常见用法

保存当前工作

当你在某个分支上进行开发,突然需要切换到其他分支处理紧急任务时,可以使用以下命令保存当前工作:

git stash

在使用 git stash 贮藏本地修改文件时,可以通过添加 -m 参数来添加文字说明。这有助于你更好地管理贮藏的更改,尤其是在有多个贮藏时,可以方便你识别每个贮藏的内容。

git stash push -m "说明文字"

这会将当前未提交的更改(包括工作目录和暂存区中的更改)保存到 stash stack 中,并将工作目录恢复到最近一次提交的状态。

查看已保存的工作

要查看 stash stack 中已保存的工作,可以使用:

git stash list

这会列出所有已保存的更改,每个更改都有一个唯一的标识符,例如 stash@{0}stash@{1} 等,并显示你添加的说明文字(如添加),帮助你识别每个贮藏的内容。

应用已保存的工作

当你完成其他任务,想要回到之前的工作时,可以使用以下命令应用已保存的更改:

git stash apply stash@{0}

这会将指定的更改应用到当前工作目录中。如果应用过程中出现冲突,Git 会提示你解决这些冲突。

删除已保存的工作

如果你已经不再需要某个已保存的更改,可以使用以下命令将其从 stash stack 中删除:

git stash drop stash@{0}

这会删除指定的更改。如果你想要同时应用并删除某个更改,可以使用:

git stash pop stash@{0}

这相当于先执行 git stash apply,再执行 git stash drop

高级用法

保存部分更改

有时你可能只想保存部分更改,而不是整个工作目录的更改。这时可以使用:

git stash push -p

这会进入交互模式,让你选择要保存的更改部分。

合并储藏的文件

如果你想将储藏的文件合并到当前分支,可以使用:

git stash branch <branch-name>

这会创建一个新的分支,并将储藏的更改应用到该分支中。

查看储藏的文件差异

要查看储藏的文件与当前工作目录的差异,可以使用:

git stash show stash@{0} --stat

这会显示储藏的文件变更摘要,包括新增、修改和删除的文件。

总结

git stash 是一个非常强大的工具,它让你能够灵活管理未提交的更改。通过将更改暂存起来,你可以更方便地切换任务、处理紧急问题或进行其他开发工作。

相关文章:

  • 三、Docker 集群管理与应用
  • SmartDeblur深度解析:全能型图片编辑器,老照片修复利器
  • 快速使用Python爬虫根据关键词获取衣联网商品列表:实战指南
  • C++ 基础2
  • 【C51】24小时制的电子钟,数码管显示格式为时-分-秒
  • 探秘 CSS 盒子模型:构建网页布局的基石
  • 跟踪napi_gro_receive_entry时IP头信息缺失的分析
  • leetcode153 寻找旋转排序数组中的最小值 思考过程
  • BambuStudio学习笔记:MultiMaterialSegmentation
  • Docker 入门与实战指南
  • 视频推拉流:EasyDSS平台直播通道重连转推失败原因排查与解决
  • Python 逆向工程:2025 年能破解什么?
  • 云上特权凭证攻防启示录:从根账号AK泄露到安全体系升级的深度实践
  • 扫雷小游戏
  • 汇川EASY系列之以太网通讯(套接字socket做主站)
  • 蓝桥杯javaB组备战第二天 题目 区间次方和 编号3382
  • Linux中grep指令
  • yum修改阿里云
  • 致远互联FE协作办公平台 存在SQL注入漏洞(DVB-2025-8942)
  • WHAT - 前端性能监控和错误追踪(Sentry 篇)
  • 动态倒计时网站模板/青岛seo用户体验
  • 公司网站开发详细流程/网站设计模板
  • 网站seo文章该怎么写/描述优化方法
  • 电子政务门户网站建设的教训/找个免费网站这么难吗
  • 北京 网站建设公司/seo网站内部优化方案
  • 网站开发 技术路线/网站seo好学吗