git之暂存功能:stash

本文介绍如何利用Git的Stash功能,在开发过程中遇到需要回退到上一版本但又不想丢弃当前未完成特性的情况下,将当前工作状态暂存起来的方法。通过git stash命令可以将未提交的改动存档并恢复工作目录到最近一次提交的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    有时开发到一半,因故需要将上一版本push下,同时也不想将现在的feature再新拉一个,就可以用stash上场了,它的功能是将之前commit后至现在的代码暂存到电脑,同时恢复至上次commit的版本,具体用法:

     暂存:git stash     如下图:会自动保存到电脑中;

  恢复:git stash pop

 

### 如何在Git恢复或应用被stash的更改 在Git中,`git stash`命令用于临时保存当前工作区和暂存区的修改。为了恢复或应用这些被暂存的更改,可以使用以下两种主要方法:`git stash apply`和`git stash pop`。 #### 方法一:使用`git stash apply` 此方法将保存的更改从stash堆栈中应用到当前的工作区,但不会从堆栈中删除该stash条目[^2]。这意味着你可以多次应用同一个stash条目而不丢失原始记录。 ```bash git stash apply ``` 如果需要应用特定的stash条目(例如`stash@{0}`),可以通过指定stash引用实现: ```bash git stash apply stash@{0} ``` #### 方法二:使用`git stash pop` 与`git stash apply`不同,`git stash pop`不仅会将最近一次保存的更改应用到当前工作区,还会自动将其从stash堆栈中删除[^1]。因此,这种方法适用于一次性恢复操作。 ```bash git stash pop ``` 同样地,也可以通过指定stash引用来恢复特定的stash条目: ```bash git stash pop stash@{0} ``` #### 注意事项 - 在应用stash之前,确保工作目录是干净的,或者已经做好了必要的备份,以防止数据冲突或丢失[^3]。 - 如果在应用stash时遇到冲突,Git会提示冲突信息。此时需要手动解决这些冲突,并使用`git add`命令标记为已解决。 #### 示例代码 以下是一个完整的示例,演示如何使用`git stash`保存更改并恢复: ```bash # 保存当前工作区和暂存区的更改 git stash # 切换分支或其他操作 git checkout master # 恢复最近一次保存的stash更改并保留在堆栈中 git stash apply # 或者恢复最近一次保存的stash更改并从堆栈中删除 git stash pop ``` 如果需要恢复特定的stash条目,可以结合`git stash list`查看stash堆栈中的所有条目: ```bash # 查看stash堆栈中的所有条目 git stash list # 应用特定的stash条目并保留在堆栈中 git stash apply stash@{1} # 或者应用特定的stash条目并从堆栈中删除 git stash pop stash@{1} ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值