【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操作
相关推荐
超梦dasgg13 小时前
工作中 Git 完整使用指南(职场实战版)
git
Ws_13 小时前
Git + Gerrit 第七课:stash 临时保存工作区修改
git
enjoywindstorm14 小时前
git从入门到精通
git
Adorable老犀牛18 小时前
Git 发布正式版本的一个专属的硬核功能,叫做 打标签(Tag)。
git
我先去打把游戏先19 小时前
Ubuntu虚拟机(服务器版本)Git卸载完全教程——彻底移除与清理配置
服务器·git·单片机·嵌入式硬件·物联网·ubuntu·51单片机
不做无法实现的梦~21 小时前
Git Clone 使用 Watt/Steam++ 加速时报证书错误的原因与解决方法
大数据·git·elasticsearch
黑猫警长丶1 天前
Git 操作笔记
笔记·git
MageGojo1 天前
Whois 域名查询 API 接入实战:用一个 GET 请求获取域名注册信息
java·git·github
黑猫警长丶1 天前
Git 本地操作基础
git
白狐_7981 天前
从功能开发到开源维护:一个 Python 可视化项目的 Git 分支、维护文件与 PR 流程实践
git·python·开源