GIt Stash

本文介绍了Git中分支创建及stash功能的使用方法,包括如何创建分支、stash的基本操作如储藏、应用和删除等,并解释了stash的工作原理及其限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要用到这个储藏功能一般都要用到分支,不然无法发挥其强大。

分支创建

1、创建分支

git branch dev

可能会结果如下

$ git branch dev
fatal: Not a valid object name: 'master'.

这个是因为你创建本仓库以来,还没有过一次commit,本地库还没生成master分支,也就无法识别你所在分支 “ master ” 是个什么鬼了。

这里跟你关联远程库出的问题是一样的原因。

创建并切换。

$ git checkout branch -b dev

2、stash的应用(栈,先进后出)
储藏:

$ git stash

带名字的储藏:

$ git stash save "this stash message"

查看储藏:

$ git stash list

应用最新储藏:

$ git stash apply

应用指定储藏

$ git stash list
stash@{0}: WIP on master: 2e951a2 add a
stash@{1}: On dev: two stash
stash@{2}: On master: one stash

$ git stash apply stash@{2} # 应用信息为“one stash”的储藏

删除指定储藏(不指定删除第一个):

$ git stash drop <stash_code>

删除全部储藏:

$ git stash clear

补充几点:
(1)stash的数据:
<1>储藏的文件: 工作区的修改(modified)、暂存区里的待提交(committed)
<2>不储藏: 未曾加入版本库的新增文件(untracked)、被忽略文件规则忽略的文件。
PS:关于未曾入库的文件,会在切换分支后继续存在于新的分支中保持untracked的状态。
(2)stash pop
上述的apply均可替换成pop,唯一区别是这条命令会在应用后删除储藏。
(3)- -index参数

$ git stash apply stash@{1} --index
$ git stash apply stash@{1}

储藏中也有已经添加到暂存区状态的文件,等待提交。

这两条命令

第一条,会保持储藏中的文件保留其暂存区状态,committed

第二条,会将工作区暂存区的文件还原到工作区中,not staged

stash的东西,差不多就这么多了。欢迎补充~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值