Git 中的stash功能
转载于:https://blog.csdn.net/liyazhen2011/article/details/83501134
stash可以把当前工作现场“保存”起来,等以后恢复现场后继续工作。演示如下:
1.查看分支
有两个分支master和subWork,当前的工作分支是subWork。
$ git branch
master
* subWork
2.查看工作状态
当前分支subWork上的工作尚未完成,如果有另一项任务需要优先完成,或者出现BUG需要立刻修复。此时需要另外创建一个分支来工作,可以把当前工作现场“保存”起来,等以后恢复现场后继续工作。
$ git status
On branch subWork
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: test.txt
3.保存工作现场
$ git stash
此时查看状态,工作区就是干净的。
$ git status
On branch subWork
nothing to commit (working directory clean)
4.创建分支
假设需要在分支master上修复,就切换到master上。
$ git checkout master
在master上创建新分支bug001,并设为当前工作分支。
$ git checkout -b bug001
修改bug,然后提交。
$ git add test.txt
$ git commit -m "fix bug 100"
修复完成后,切换到master分支。
$ git checkout master
合并master分支和bug001分支。(--no-ff参数,表示禁用Fast Forward模式,禁用后Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息)。
$ git merge --no-ff -m "merge bug001" bug001
最后,删除分支bug001。
$ git branch -d bug001
5.恢复工作现场
现在,BUG修复完成了,我们可以回到subWork分支,继续我们的工作了。
切换到subWork分支。
$ git checkout subWork
恢复工作现场。
$ git stash pop
注:可以多次用命令git stash 保存工作现场,然后用git stash list 查看保存的列表,然后用 git stash apply恢复。
用 git stash apply恢复后,保存的现场并不删除,需要用git stash drop 删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?