git 保存临时文件 git stash

小伙伴在使用git的时候会不会遇到下面这种情况
假设你正在develop分支开发项目,代码写了一半,暂时还不想提交。但是这时候突然来个紧急bug。你要切换到test分支去修改bug。

方法一:

今天,注要说的是使用git stash解决这个问题
git stash:个人理解,就是将当前工作区的更改的内容备份起来,存到git 栈当中

操作:
1、将当前工作区的内容备份,注意备份的是还没 git add .的内容

git stash	//备份当前工作区所有内容,自动生成注释
git stash save '注释内容' //备份当前工作区所有内容,并增加注释

备份完之后,你就可以切换到其他分支修改bug了。
当你修改完其他完分支后。回到本分支看如下操作
2、查看自己备份的序列号或条目,看你怎么理解

git stash list

没写注释的长这样:
在这里插入图片描述
写注释的是这样的:
在这里插入图片描述
细心的小伙伴们注意到stash@{0}这个了没。最新备份的条目总是0
我们继续往下看
3、根据stash@{num} 恢复到工作区

git stash pop //恢复最近一次stash的文件内容(stash@{0}),并将该记录在 git stash list 中删除,删除记录
git stash apply //恢复最近一次stash文件内容(stash@{0}),list 列表中不删除记录
git stash pop stash@{num}//恢复指定序列条目的内容,并删除该条目的记录
git stash apply stash@{num}//恢复指定序列条目的内容,并删除该条目的记录

4、假设我用了apply,但是后来我想把我之前备份的文件删了怎么办

git stash drop  //删除最近一次备份,也就是stash@{0}.
git stash drop stash@{num} //删除指定序列备份
git stash clear //删除所有备份文件

在develop开发,去test修改bug

方法二:

创建临时分支篇

git switch -c 'devtemp01' //基于develop当前修改的内容创建临时值devtemp01
git commit -a -m '临时解决'//提交commit
git checkout test//切换test修改并提交
......
git checkout devtemp01//改完bug回到devtemp01
git reset HEAD^//将上一次commit回退到工作区,继续进行修改,修改完成后合并到develop分支
git branch -d devtemp01 //完事删除本地创建的临时分支

方法三:

简单篇

git commit -a -m '提交develop更改' //提交develop更改
git checkout test //切换到test,进行修改bug,提交并推送
......
git checkout develop 
git reset HEAD^ //拉回工作区,继续进行修改。

注释:
git switch 和 git checkout 都能切换分支,基本没什么区别。
git commit -a -m '内容' 实际就是git add . 和 git commit -m '内容'结合体

不知道小伙伴看了上面几种类型,有什么想法呢,欢迎留言提问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值