Git stash系列详解和使用

这篇具有很好参考价值的文章主要介绍了Git stash系列详解和使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有的时候项目中需要不停的切换分支,那我们已经修改的代码还不想提交,用什么方法既不用提交自己的代码成功切换分支呢?
下面就介绍下git stash的系列用法,stash在英文意思是隐藏,git stash 的作用也是隐藏未完成的代码,防止它干扰别人或者新分支的工作。

1、git stash

git stash将本地没提交的内容(git commit的内容不会被缓存 但git add的内容会被缓存)进行缓存并从当前分支移除,缓存的数据结构为堆栈,先进后出。

git stash 可以多次使用,每次使用都会新加一个stash@{num},num是编号。

其中git stash与git stash save是一样的,将没有提交的内容缓存并移除,而这条缓存名称为最新一次提交的commit -m的内容,如果没有本地提交则是拉远程仓库是的commit内容。

git stash save “xxxxxxxxxxx”,加上自己缓存的注解,便于查找(不过在使用的情况来看,没啥用,因为git stash会标注最新commit的内容,在vscode中使用Git Graph插件更能直观的了解)

2、git stash list

git stash list的作用是查看stash了哪些存储,每一行的冒号前面的字符串就是标识此隐藏的id

3、git stash pop

命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

4、git stash apply

git stash apply和git stash pop功能类似,但不会把存储从存储列表中删除(pop命令将缓存弹出来应用并且删除这条应用的缓存,而apply不会删除,你分支切换回来他还在),默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}

5、git stash show

git stash show显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲,比如第二个 git stas…num} -p ,比如第二个:git stash show stash@{1} -p

6、git stash drop stash@{$num}

git stash drop stash@{ $ num}丢弃stash@{$ num}存储,从列表中删除这个存储。如果你就缓存了一个,直接使用git stash drop即可,如果多条,需要加上后面的数量参数。

同时需要注意,如果你使用git stash pop,他会自己删除缓存,但是你使用的如果是git stash apply,需要手动删除 list 列表中的记录(即drop -p)

7、git stash clear

git stash clear也是删除命令,不过他是删除所有缓存的stash,还是要慎用!

8、git stash branch

git stash branch指定或最新缓存创建分支,but这个命令我没咋用过!

9、需要注意的是!!!

新增的文件,直接执行stash是不会被存储的,没有在git 版本控制中的文件,是不能被git stash 存起来的

stash后新增的文件并没有进入缓存,这是因为git还没有追踪这个新增的文件,所以需要进行git add [文件名]让git追踪这文件,再进行stash就可以对新文件进行操作。

git add 只是把文件加到git 版本控制里,并不等于就被stash起来了,git add和git stash 没有必然的关系,但是执行git stash 能正确存储的前提是文件必须在git 版本控制中才行。

平时使用比较多的是git stash apply,其他的用的比较少,写到这里仅仅是做记录,另外推荐大家使用vscode的Git Graph插件,更加直观的看到缓存列表!!!

参考:
https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html文章来源地址https://www.toymoban.com/news/detail-784789.html

到了这里,关于Git stash系列详解和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git check-pick,git patch 与 git stash 详解

    大家好,我是 17。 今天和大家聊一聊 git check-pick,git patch 与 git stash 的用法。 为什么要用 cherry-pick? 不适合 merge 的场景就可以考虑 cherry-pick。 试想下面这些场景 只想同步分支的部分提交。两个分支是两上完全独立的 feature,不适合 merge。 不想过早的同步分支。 下面举几个

    2023年04月09日
    浏览(38)
  • (详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert

    目录 背景 一、(git log、git reflog)查看git提交日志及命令历史 1.1 git log(提交日志)  1.2 git reflog(命令历史) 二、git reset(回退到指定的版本,并且保留更改) 2.1 回退到指定版本 2.2 快捷回退上一版本 三、git reset --hard(回退到指定版本,不保留更改) 四、git revert(回退

    2024年02月12日
    浏览(56)
  • git stash使用

    (一) 假设你当前正在分支A上开发一个功能,并修改了一些代码,运行 git stash save \\\"修改描述XXX\\\" 来保存当前工作目录的更改到stash。 然后你可以切换到其它分支(比如分支B)进行其它任务。 当你回到分支A时,想恢复原来的开发状态,可以运行 git stash list 查看所有保存的sta

    2024年02月13日
    浏览(38)
  • Git详解及 github使用

    开始之前先看一个没有版本控制的例子 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的 好处就是简单,但是特别容易犯错。有时候会混淆所在的工作目录,一不小心会写错文

    2024年02月05日
    浏览(44)
  • git stash的使用方法

    当我们在开发一个新功能的时候,或者开发到一半,然后就收到了线上master 出现了bug,当分支开发已经进行了或者进行到一半了,这时怎么办呢? 这时解决方案有两种:一种是先先将当前开发种的代码提交到分支上去,虽然可以解决问题但是不妥。第二个分案切换一个新的

    2024年02月07日
    浏览(43)
  • git stash 将本地部分文件暂存,而不提交到远程仓库

    如果您想将本地部分文件暂存,而不提交到远程仓库,可以使用 git stash 命令将更改暂存到一个“临时存储区”,然后再执行提交操作。具体步骤如下: 使用 git add 命令将需要提交的文件添加到 Git 索引中。 使用 git stash push -- 文件路径 命令将指定的文件暂存到临时存储区中

    2024年02月03日
    浏览(41)
  • 使用Git将文件夹上传到Github以及使用Git LFS上传大文件

    使用Git将文件夹上传到Github以及使用Git LFS上传大文件

    2024年04月14日
    浏览(57)
  • Git详解及 github与gitlab使用

    目录 1.1 关于版本控制 1.1.1 本地版本控制 1.1.2 集中化的版本控制系统 1.1.3 分布式版本控制系统 1.2 Git简介 1.2.1 Git历史 1.3 安装git 1.3.1 环境说明 1.3.2 Yum安装Git 1.3.3 编译安装 1.4 初次运行 Git 前的配置 1.4.1 配置git 1.4.2 获取帮助 1.5 获取 Git 仓库(初始化仓库) 1.5.1 创建裸库 1.

    2024年02月22日
    浏览(41)
  • 使用Git将文件上传到GitHub

    目录 1、在GitHub个人首页,点击右上角 “+”选择 new repository创建仓库并填上要创建的仓库名 2.1 在自己要上传的文件目录下右击选择Git bash here 2.2 在命令框里依次输入命令 上传到Gitee也同理     git init         //把这个目录变成Git可以管理的仓库 git add .        //git

    2024年02月06日
    浏览(47)
  • 1、Git使用不完全指南:GitHub的使用详解

    GitHub 是一个以开源为基础的社交化编程平台,开发者可以在上面分享代码、协同开发、交流等。下面我们来讲一下如何使用 GitHub。 注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料 ,将在公众号 CTO Plus 发布,请关注公众号: CTO Plus 首先,我

    2023年04月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包