git暂存命令,一看就懂

起因是因为平时我的开发习惯是每次开发多个功能之后,分多次commit然后一起push和pull同步,然后在公司使用gitlab的时候,发现gitlab如果按照我上面那样的操作方式的话只会记录一次推送,也就是说你一天的工作量甚至两三天再gitlab上可能之后一次推送。

简单的说就是gitlab只认定你的git push次数,而不认定你git commit的次数,因此顺便使用了一下git stash的方法。

当你在使用 Git 进行版本控制时,可能会遇到需要暂存当前工作目录的情况,但又不想提交更改。这时,Git 提供了 stash 命令来帮助你保存和恢复这些临时更改。本篇博客将详细介绍 Git 的 stash 命令的使用方法。

什么是 Git Stash

stash 是 Git 提供的一个命令,用于暂时保存当前工作目录的更改,以便你可以切换到其他分支或者恢复到之前的状态,而不必提交未完成的更改。

使用 Git Stash

保存工作目录的更改

要保存当前工作目录的更改,使用以下命令:

git stash
git stash save "暂存的备注"

执行该命令后,Git 会将所有未提交的更改(包括已暂存和未暂存的更改)保存到一个新的存储栈中,并将工作目录重置为干净的状态。

查看保存的暂存区列表

你可以使用以下命令查看保存的暂存区列表:

git stash list

该命令会列出所有保存的暂存区,每个暂存区都有一个唯一的标识符。

恢复暂存区的更改

要恢复之前保存的暂存区的更改,可以使用以下命令:

git stash apply [<stash_id>]


[<stash_id>]表示暂存区的标识符,也就是用于唯一标识每个暂存区的字符串。Git 会为每个保存的暂存区自动分配一个标识符,你可以使用 git stash list 命令查看所有暂存区的标识符。

当你需要恢复某个暂存区时,可以使用 git stash apply 或 git stash pop 命令指定该暂存区的标识符,例如:

git stash apply stash@{1}
这里的 stash@{1} 就是暂存区的标识符,表示要恢复第二个保存的暂存区。

如果你不指定标识符,则默认应用最新的暂存区。例如,以下命令将应用最新的暂存区:

git stash apply
在使用 git stash drop 命令删除暂存区时,也需要指定标识符,例如:

git stash drop stash@{0}
这里的 stash@{0} 表示要删除第一个保存的暂存区。



 

如果没有指定 <stash_id>,则默认应用最新的暂存区。执行此命令后,之前保存的更改将会被应用到当前工作目录中。

恢复暂存区的更改并删除(pop与apply同作用,多了删除功能)

如果你希望在应用暂存区的更改后将其从存储栈中删除,可以使用以下命令:

git stash pop [<stash_id>]

apply 命令类似,如果没有指定 <stash_id>,则默认应用最新的暂存区。执行该命令后,之前保存的更改将被应用到当前工作目录,并从存储栈中删除。

删除暂存区

如果你想删除一个或多个保存的暂存区,可以使用以下命令:

git stash drop <stash_id>

这里的 <stash_id> 是要删除的暂存区的标识符。如果不指定 <stash_id>,则默认删除最新的暂存区。

清空所有暂存区

如果你想一次性清空所有保存的暂存区,可以使用以下命令:

git stash clear

该命令将删除所有保存的暂存区,无法恢复。

结论

通过 stash 命令,你可以轻松地保存和恢复未提交的更改,而不必担心临时切换分支或回退代码会导致未完成的工作丢失。

希望本篇博客能够帮助你理解并正确使用 Git 的 stash 命令。如果你有任何疑问或需要进一步的帮助,请随时评论区留言!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怂怂敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值