【Git】git stash

目录

Git的stash命令是一个非常实用的功能,它允许开发者临时保存工作目录和暂存区的更改,以便能够切换到其他分支或进行其他操作,而不会丢失当前的修改。以下是git stash的详细解析:

基本概念

  • 工作目录:当前开发者正在工作的目录,包含了所有已修改但尚未提交的文件。
  • 暂存区(Staging Area):也称作索引(Index),是提交前的一个临时区域,用于存放将要被提交的更改。
  • Stash:一个用于临时存储工作目录和暂存区更改的栈(Stack)。

参数详解

list

语法 git stash list [<options>] ,与git log功能类似,列出储藏列表,options 参数可以参考git log的参数

show

语法 git stash show [<options>] [<stash>],和git show功能类似

save

语法 git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [<message>]

  1. 将本地更改保存到新的储藏队列,
  2. [-p|--patch] 以patch模式提交,允许选择需要保存的块,具体参考git add的--patch模式
  3. [-k|--[no-]keep-index] [不]保留 index 序号
  4. [-q|--quiet] 静默执行,即不显示结果
  5. [-u|--include-untracked] 储藏时包括未跟踪的文件
  6. [-a|--all] 储藏所有文件,包括忽略的文件
    建议使用push代替save
push

push可以讲其中几个文件贮藏

语法 git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [-m|--message <message>] [--] [<pathspec>...]]

  1. 将本地修改保存到新的储藏队列,用法与save基本一致,多了[--] [<pathspec>...]可选参数
  2. [--] [<pathspec>...] 使用路径匹配,只有路径匹配下的文件会被储藏,通常用于储藏部分文件
  3. push选项可以被省略,以便快速保存,省略push时,不能使用参数
pop|apply

语法 git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>],取出指定的队列,默认取出最新的队列,pop与apply的区别在于,pop在取出队列后会删除stash中的队列,apply则不会删除

在vs 中对应关系如下:

pop=弹出->应用当前贮藏并删除

appy=应用->仅应用

drop

语法 git stash drop [-q|--quiet] [<stash>],删除某个储藏队列,默认删除最新的储藏队列

clear

语法 git stash clear,删除所有储藏

branch

语法 git stash branch <branchname> [<stash>],使用某个储藏队列建立分支,同时删除该队列

[<stash>]指stash队列的名称,形式为stash@{id}

参考文章

  1. git stash参数介绍
  2. git stash操作
相关推荐
m0_4648323626 分钟前
Linux服务器上安装git lfs命令
git
贩卖纯净水.8 小时前
白月光git
git·github
爱吃瓜的猹z12 小时前
git reset 几点疑问
git·源代码管理
悟空201618 小时前
001、Git开发流程规范
git
Li小李同学Li18 小时前
git学习【持续更新中。。。】
git·学习·elasticsearch
晨春计20 小时前
【git】
android·linux·git
念幽21 小时前
Git常用命令
git
神技圈子21 小时前
【git系列】git中的那些迷惑的术语以及概念详解
git
benben0441 天前
Photoshop使用方法大全
git
ou.cs1 天前
git 删除远程分支的几种写法
git