当前位置:   article > 正文

详细分析git stash的深入解析与实用技巧

git stash

前言

对于Git的实战补充推荐阅读:Git 实战场景过程(工作总结篇)

1. 基本知识

git stash 是 Git 中用于临时保存工作目录和暂存区修改的命令

允许开发人员在不提交当前更改的情况下切换分支或进行其他工作,然后稍后恢复这些修改

基本的命令如下:

  1. 保存当前修改:(将会保存当前工作目录和暂存区的修改,并将工作目录恢复到上一次提交的状态)
git stash
  • 1
  1. 查看已保存的修改
    列出所有已保存的stash
    每个stash都有一个唯一的标识符(类似于 stash@{0})
git stash list
  • 1
  1. 恢复已保存的修改
    将应用指定的stash
    默认情况下,它会应用最近一次的stash(即 stash@{0})
git stash apply [<stash>]
  • 1
  1. 恢复并删除已保存的修改:(应用最近一次的stash,并将其从stash列表中删除)
git stash pop
  • 1

截图如下:

在这里插入图片描述


  1. 删除一个已保存的stash
    删除指定的stash
    如果没有指定,将删除最近一次的stash
git stash drop [<stash>]
  • 1
  1. 删除所有已保存的stash
    清空所有已保存的stash
git stash clear
  • 1

大致截图如下:

在这里插入图片描述
如果是删除,则会删除最近的一次:

在这里插入图片描述

2. 延伸拓展

  • 保存部分修改
    仅保存工作目录的修改(不包括暂存区的修改):git stash push -k
    仅保存暂存区的修改(不包括工作目录的修改):git stash push -m

  • 带有消息的stash
    为每个stash添加一个描述性的消息,以便于记忆:git stash push -m "description"

  • 应用特定的stash
    多个stash,并且想应用特定的一个:git stash apply stash@{2}

  • 创建分支并应用stash
    创建一个新的分支,并在这个分支上应用一个stash:git stash branch <branchname> [<stash>]

  • 查看stash的内容
    查看某个stash中的具体修改:git stash show [<stash>]
    在这里插入图片描述
    查看详细的diff信息,可以加上 -p 参数:git stash show -p [<stash>]
    在这里插入图片描述

  • stash应用到不同的工作目录
    将一个stash应用到不同的分支或工作目录:

git checkout <other_branch>
git stash apply [<stash>]
  • 1
  • 2

3. 总结

  • 冲突处理:在应用stash时,如果与当前工作目录的内容有冲突,Git 会提示冲突,需要手动解决冲突
  • 数据安全:虽然 git stash 是一种方便的临时保存方式,但不应该长期依赖于它来保存重要的修改
    建议定期提交代码,以确保数据安全
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/958162
推荐阅读
相关标签
  

闽ICP备14008679号