git stash 暂存当前修改

参考:https://www.cnblogs.com/ayseeing/p/4240429.html
以下是内容:

git stash 暂存当前修改
当我们在开发项目的时候,突然来一个变更需要修改,我们除了将当前项目提交(commit)后切换(checkout) 到其他分支外,我们还可以先将当前的修改暂存(stash)起来,然后再切换(checkout)到其他分支,而不需要提交(commit),这样就可以减少一个 commit (虽然可以使用 git commit --amend 来修改最后一次提交 )。

暂存修改有两种情况:

1、文件已经被 git 跟踪,只是修改了代码(而不是新条件文件),我们可以使用 git stash 或 git stash save "注释" 来暂存修改。

2、如果有新添加的文件,那么就需要添加 -a 参数(如,git stash -a 或 git stash save -a "注释"),或先 git add . 然后再使用 git stash 或 git stash save "注释" 来暂存修改。

当完成了变更,在开启项目,开启项目某一个暂存可以使用 git stash apply stash@{id} ,stash@{id}里面的id默认从0开始,最近的暂存为0。如果开启最近的一个暂存,则可以使用 git stash pop 或 git stash apply stash@{0} 来开启。

就视觉效果来说,git stash pop 和 git stash apply stash@{0} 效果是一样的,但是,在某些方面这两个命令还是有所区别的,git stash pop 开启某个修改暂存后,会在 stash list 里面将最近一次的修改暂存记录删除掉,而 git stash apply stash@{0} 则不会。

查看有多少个修改暂存,可以使用 git stash list 来查看 stash 列表。

我们也可删除修改暂存,删除某一个修改暂存,git stash drop stash@{id},如果需要清空所有的修改暂存,可以使用 git stash clear 命令。

posted @   solomarge  阅读(287)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示