git stash 用法小结

这篇具有很好参考价值的文章主要介绍了git stash 用法小结。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景

有一天你正兴高采烈地coding…,突然现网出现一个bug让你紧急修复,但是你本地已经有了修改,你又不想提交,也总不能全部回退吧,所以你正发愁怎么办的时候恰好看到了这篇文章,它将帮你完美解决此场景的困扰,那么今天的主角就是 git stash,它会本地保存当前工作目录所有未提交的修改(每个工作目录有自己的缓存堆栈),不会上传到git服务器,在你需要的时候应用到你当前的分支(一定要注意要应用的分支是否是当时保存该stash的分支)

命令

1. 保存修改

下列两个命令都会保存当前工作目录所有未提交的修改,工作区的代码会回退到未修改之前,但有区别。

git stash

保存成功如图:
git stash 用法小结
使用该命令保存的stash没有注释,难以分辨

git stash save 'xxx' // 'xxx'表示注释,便于区分每个stash

保存成功如图:
git stash 用法小结
使用该命令保存的stash有注释,容易分辨

注意:未被git跟踪的代码(新增)不会被stash存储,会报 No local changes to save

2. 查看stash列表

git stash list

当我们使用 git stash 命令保存多个stash时,stash列表如下:
git stash 用法小结
我们可以看到,两个stash除了前面的序号不同,其他信息都一模一样,很难分辨哪个是我们现在需要应用的stash。
而当我们使用 git stash save ‘xxx’ 命令保存多个stash时,stash列表如下:
git stash 用法小结
是不是容易分辨多了?还没完,接着看↓

3. 查看差异及详细信息

查看堆栈中最新保存的stash和当前目录的差异:

git stash show

用法:
git stash 用法小结
我们可以看到修改的文件。
我们如果想查看指定的stash和当前目录差异,可以使用:

git stash show stash@{index}

用法:
git stash 用法小结
有的同学说这只能看到文件,看不到详细的内容啊,别急,用这个:

git stash show -p

用法:
git stash 用法小结
我们可以很直观地看到修改了哪些地方。
当然,我们要是想看到指定的stash的详细修改,可以使用:

git stash show stash@{index} -p

用法:
git stash 用法小结
nice!!!还没完,接着看↓

4. 应用stash

git stash pop

当只有一个stash的时候,我们大可使用 git stash pop 命令将该stash应用到当前分支:
git stash 用法小结
值得注意的是,git stash pop 命令默认将缓存中第一个stash应用到当前分支,并且应用完后会删除该stash,我们查看一下stash列表:
git stash 用法小结

那么有的同学就会问:那我应用完不想删除stash怎么办?
此时主角闪亮登场⭐:

git stash apply

我们先复原刚刚删除掉的stash,再使用该命令应用stash:
git stash 用法小结
使用该命令不会删除缓存的stash,并且与 git stash pop 同样默认将缓存中第一个stash应用到当前分支,同样我们看一下stash列表:
git stash 用法小结
很显然,二老健在😂。

那么更想拿高薪的同学又会问:我既想应用完不想删除stash,又想应用指定的stash,怎么办?
凉拌那是不可能的,我一般喜欢烤着吃🍗…
开个玩笑,此时我们可以使用以下命令指定我们要应用的stash:

git stash apply stash@{index}

index表示stash列表的序号,使用该命令应用stash:
git stash 用法小结
我们再看一下stash列表:
git stash 用法小结
没骗你吧,git stash apply stash@{index} 命令能够成功应用指定的stash并且不删除缓存的stash。

我的天老爷,有的同学又想到一个场景:如果我连续应用多个stash会发生什么?会合并多个stash吗?
看看就知道了:
git stash 用法小结
我们可以很清楚地看到,连续多次应用stash,在第二次的时候就报错了,让我们提交修改之后再应用(此处演示了 git stash popgit stash apply 一起使用的场景,不会对代码造成任何影响)。

5. 删除stash

相信很多同学都有很不得了的时候,突然不想用之前的修改了,不删了它浑身难受,这时候我们就该使用以下命令删除缓存的stash:

git stash drop

用法:
git stash 用法小结
你说删了就删了哦,我必须看看stash列表:
git stash 用法小结
耶,纳闷只删了第一个哦,你可能动动小脑瓜都知道了,该命令默认删除缓存中的第一个stash。

是的,你猜到了,扁桃体同学又要发炎了: 我今天必须要删除指定的stash,不然我睡不戳,纳闷办?
我们先复原刚刚删除的stash,再使用以下命令删除缓存中指定的stash:

git stash drop stash@{index}

用法:
git stash 用法小结
再看看stash列表:
git stash 用法小结
No problem。

紧接着,阿迫同学说: 你这样一个一个删太麻烦了,能不能一次性删完呢?
当然可以!我们可以使用以下命令删除所有缓存的stash:

git stash clear

用法:
git stash 用法小结
然后看看stash列表:
git stash 用法小结
啥都没了,说明已经完全删除了

谢谢大家捧场,点波赞和关注么么哒~~文章来源地址https://www.toymoban.com/news/detail-480381.html

到了这里,关于git stash 用法小结的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Git 储藏(stash)详解

    此文在阅读前需要有一定的git命令基础,若基础尚未掌握,建议先阅读这篇文章Git命令播报详版 在平常的工作中,当我们在单独拉取的功能分支中进行开发时,遇到线上出现bug需要进行紧急修复,我们需要切换到主分支,进行代码的修复。但是我们直接在本地切换到主分支,

    2024年02月08日
    浏览(7)
  • Git Stash详细讲解

    Git Stash详细讲解

             git stash 这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复。         当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候,可以先将自己写好的代码,储存到 git 栈,进行另外一个分支的代码开发。这时候 git stash 命令就

    2024年02月02日
    浏览(10)
  • Git Stash 贮藏命令

    Git Stash 贮藏命令

    在使用Git过程中,有时当你在项目的其它分支正在进行开发,并且该分支还尚未开发完成进行提交,这个时候需要你切换分支进行工作,这个时候做到一半的工作既不想全部丢掉又不想到处都是问题的就commit,十分冲突。解决问题的方法就是 git stash 命令 贮藏(stash)会处理

    2024年02月07日
    浏览(14)
  • Git Stash 命令详解

    Git Stash 命令详解

    目录 背景 用途 常见方法 举例说明         使用git协同开发工具的同学应该都知道,在开发过程中我们需要经常切换分支,例如正在某一个分支下做需求时候,在该需求还未完成时就需要在另外一个分支下进行问题的修改,如果直接git checkout 切换分支会有冲突,会导致切

    2024年02月10日
    浏览(8)
  • git stash怎么恢复

    git stash怎么恢复

    首先,使用git status指令查看当前文件状态。 然后,使用git stash指令将本次修改部分缓存到本地。 再次使用git status指令,查看当前文件状态,系统提示没有需要提交的内容。 使用git stash list指令,查看本地当前的缓存列表。 使用指令“git stash apply stash@{id}”,恢复指定id的

    2024年01月22日
    浏览(11)
  • git stash使用

    git stash使用

    (一) 假设你当前正在分支A上开发一个功能,并修改了一些代码,运行 git stash save \\\"修改描述XXX\\\" 来保存当前工作目录的更改到stash。 然后你可以切换到其它分支(比如分支B)进行其它任务。 当你回到分支A时,想恢复原来的开发状态,可以运行 git stash list 查看所有保存的sta

    2024年02月13日
    浏览(8)
  • Git第九讲 Git stash暂存消息

    git stash 是一个在 Git 中用于临时保存未提交的更改的命令。它可以帮助你在切换分支或处理紧急任务时,将当前工作目录中的修改保存起来,以便稍后恢复。 git stash 的使用方法如下: 当你想要暂存当前的修改时,运行以下命令: 可选地,你可以提供一个简短的描述性消息,

    2024年02月08日
    浏览(9)
  • mongodb用法小结

    mogodb用法汇总 等于用法: db.getCollection(\\\'t_xxx\\\').find({\\\"字段A\\\": \\\"A\\\"}).limit(100) in用法: db.getCollection(\\\'t_xxx\\\').find({\\\"字段A\\\": {$in:[\\\"A0\\\",\\\"A1\\\"]}}).limit(100) notin用法 db.getCollection(\\\'t_xxx\\\').find({ 字段A: { $nin: [\\\"A1\\\", \\\"A2\\\"] } }) 分页查询用法: b.getCollection(\\\'t_xxx\\\').find({字段A: {$gt: \\\"A1\\\"}}).sort({字段A: 1}).limi

    2024年02月12日
    浏览(7)
  • Git基础操作:git stash 相关命令举例讲解

    git stash 是 Git 提供的一个强大的工具,它允许你临时保存(或“暂存”)当前工作目录和索引(暂存区)的改动,从而可以切换分支或执行其他操作而不影响当前的工作状态。下面是 git stash 的一些常用命令及其解释: git stash 这条命令会将当前的工作目录和暂存区的改动保存

    2024年01月24日
    浏览(9)
  • Git(丢失stash数据恢复)

    在这里总结一下昨天遇到的问题,我本想将本地代码push到远端仓库,依次运行了以下命令 git init //初始化 git add . //将本地代码添加到暂存区 git commit -m \\\'注释\\\' //将暂存区内容添加到本地仓库中。 结果这时发生了代码冲突,我的代码全没了,直接吓我一大跳。 然后查资料说代

    2024年02月08日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包