git stash — 暂存临时代码

本文介绍如何利用 Git 的 stash 命令保存当前未完成的工作进度,以便临时切换到其他任务,如紧急修复 Bug。完成后可轻松恢复之前的工作状态。

stash命令可以很好的解决这样的问题。当你不想提交当前完成了一半的代码,但是却不得不修改一个紧急Bug,那么使用’git stash’就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修 Bug,等到修完Bug,提交到服务器上后,再使用’git stash apply’将以前一半的工作应用回来。

当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,’git stash list’命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用’git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空

### 如何在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、付费专栏及课程。

余额充值