git之stash

1. 基本使用

stash命令可用于临时保存和回复修改,可跨分支

注:在未add之前才能执行stash!!!!

  • git stash [save message]
    保存,save为可选项,message为本次保存的注释
  • git stash list
    所有保存的记录列表
  • git stash pop stash@{num}
    恢复,num是可选项,通过git stash list可查看具体值。只能恢复一次
  • git stash apply stash@{num}
    恢复,num是可选项,通过git stash list可查看具体值。可回复多次
  • git stash drop stash@{num}
    删除某个保存,num是可选项,通过git stash list可查看具体值
  • git stash clear
    删除所有保存
### 关于 Git Stash 的使用方法 #### 存储当前更改到栈中 当开发者希望临时保存工作目录中的修改而不创建新的提交时,`git stash` 是非常有用的工具。通过 `git stash save "message"` 可以将当前的工作状态存储起来,并可以选择提供描述性的消息[^1]。 对于那些不仅想要保存已跟踪文件的状态,还希望连同未追踪的新文件一起保存的情况,则应采用带有 `-u` 参数的形式来调用此命令即 `git stash -u` 或者更全面地使用 `--include-untracked` 选项。如果目标是把所有类型的变更都纳入其中——既包括被索引的也涵盖了完全未知的文件以及忽略列表里的项,那么应当运用带 `-a` 或者 `--all` 标志位的操作方式。 ```bash git stash -u # 仅存档未跟踪文件 git stash -a # 存档全部内容(含忽略文件) ``` #### 查看储存堆栈的内容 为了查看已经存储的变化摘要信息,可以简单地运行 `git stash list` 来获取一份清单;若要深入探究某次特定存储的具体改动详情,则可通过如下形式查阅: ```bash git stash show stash@{n} ``` 这里的 `{n}` 表示的是从最近一次往回数第几个 stash,默认情况下会展示最新的那次(`stash@{0}`). 若要获得更加详细的差异对比视图,可附加参数 `-p` 或 `--patch`: ```bash git stash show -p stash@{n} ``` 上述操作能够呈现出与 `git diff` 类似的输出效果[^2]. #### 应用并保留某个 stash 中的数据 假设现在决定重新应用之前所保存的一个 stash 而不是直接弹出它(即将其应用于当前分支之后立即移除),则应该利用 `apply` 动作加上具体的目标 stash ID (例如 `stash@{id}`): ```bash git stash apply stash@{id} ``` 这样做允许用户在不丢失原有 stash 记录的前提下恢复先前暂存过的更改[^3]. #### 清理不再需要的 stash 数据 一旦确认某些 stash 已经没有必要继续留存下去了,就可以借助 `drop` 命令针对单个实例执行清理动作,或者是干脆一次性清除整个 stash 列表内的所有项目: ```bash git stash drop stash@{id} # 删除指定ID对应的stash条目 git stash clear # 移除所有的stash记录 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值