Loading... Git stash命令在版本控制系统操作中作为一个非常有用的功能,允许用户临时保存当前工作目录中的更改并清理工作目录,使其回到最近的提交状态,便于切换分支或暂时撤回更改,而不丢失工作进度。 ### 基本使用 **创建Stash** ```bash git stash ``` 这个命令将会保存工作目录和暂存区的当前更改。执行这个命令后,你的工作目录将是干净的,与最后一次提交的状态相同。 **查看Stash列表** ```bash git stash list ``` 此命令显示了所有的stash项。默认情况下,stash项被命名为 `stash@{0}`, `stash@{1}`, `stash@{2}`, 依此类推,其中 `stash@{0}`是最新的stash。 **应用Stash** ```bash git stash apply ``` 该命令恢复最新的stash内容。如果需要恢复指定的stash项,可以使用: ```bash git stash apply stash@{n} ``` 其中 `n`是要恢复的stash的编号。 **删除Stash项** ```bash git stash drop stash@{n} ``` 通过此命令可以删除指定的stash项。 **恢复Stash并删除Stash项** ```bash git stash pop ``` 这个命令将应用最上面的stash并将其从stash列表中删除。 **清空所有Stash项** ```bash git stash clear ``` 执行后,所有缓存的stash项都会被删除。 ### 高级使用 **保存未暂存的更改** 默认情况,`git stash`不会保存未暂存的更改。如果也想保存这些更改,可以使用: ```bash git stash -k git stash --keep-index ``` **包含未跟踪的文件** 如果工作目录有未跟踪的文件,可以使用以下命令将它们也加入到stash中: ```bash git stash -u git stash --include-untracked ``` **创建带有描述的stash** ```bash git stash save "Your custom message" ``` 这样可以为stash项添加一个描述,方便以后识别。 ### 案例分析: 假定你正在开发一个功能,在开发的中途,你需要切换到其他分支处理一个紧急的bug。 1. 保存当前进度 首先存储当前的工作进度,使工作目录干净: ```bash git stash ``` 2. 切换分支修复bug ```bash git checkout fix-bug-branch # ... 解决bug ... git commit -am "Fix bug" ``` 3. 返回之前的工作 ```bash git checkout feature-branch ``` 4. 恢复进度 接着,你可以使用以下命令恢复你的工作进度: ```bash git stash pop ``` 此时,之前保存的更改将会重新应用到工作目录,并且该更改会从stash列表中删除。 通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。 #### [云服务器/高防CDN推荐](https://www.tsyvps.com/) #### [蓝易云](https://www.tsyvps.com/)国内/海外高防云服务器推荐 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://www.tsyvps.com" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://www.8kiz.cn/img/6.png);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">蓝易云-五网CN2服务器【点我购买】</p> <div class="inster-summary text-muted"> <span style='color: red;'>蓝易云采用KVM高性能架构,稳定可靠,安全无忧!<br>蓝易云服务器真实CN2回国线路,不伪造,只做高质量海外服务器。</span> </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> --- **<span style='color:#000000'>海外免备案云服务器链接:[www.tsyvps.com](https://www.tsyvps.com)</span>** **<span style='color:#000000'>蓝易云安全企业级高防CDN:[www.tsycdn.com](https://www.tsycdn.com)</span>** **<span style='color:#DC143C'>持有增值电信营业许可证:B1-20222080【资质齐全】</span>** **<span style='color:#DC143C'>蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。</span>** --- #### **百度搜索:[蓝易云](https://www.baidu.com/s?ie=UTF-8&wd=%E8%93%9D%E6%98%93%E4%BA%91)** 最后修改:2023 年 12 月 12 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏