Git Stash 命令详解

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

目录

背景

用途

常见方法

举例说明


背景

        使用git协同开发工具的同学应该都知道,在开发过程中我们需要经常切换分支,例如正在某一个分支下做需求时候,在该需求还未完成时就需要在另外一个分支下进行问题的修改,如果直接git checkout 切换分支会有冲突,会导致切换不成功,但是又不想将当前的做的修改复原,于是想到将当前的改动暂时保存下来,然后切换到另外一个分支去修改问题,当问题修改完成了之后将分支切换回来,然后再将之前保存的改动释放即可继续对需求进行开发了。

用途

   git stash这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复。

常见方法

1、git stash
        保存当前的工作区与暂存区的状态,把当前的修改的保存到git 栈,等以后需要的时候再恢复,git stash 这个命令可以多次使用,每次使用都会新加一个stash@{num},num是编号

注意:

        新增的文件,直接执行stash是不会被存储的。【换句话说:没有在git 版本控制中的文件,是不能被git stash 存起来的】

        那要怎么办呢,新增的文件我也想存起来,很明显,先执行下git add 加到git版本控制中,然后再git stash就可以了

2、git stash save '注释'
        作⽤等同于git stash,区别是可以加⼀些注释, 执⾏存储时,添加注释,⽅便查找

git stash save 'test comment some key words'

3、git stash pop

        默认恢复git栈中最新的一个stash@{num},建议在git栈中只有一条的时候使用,以免混乱。

        释放最近一次保存的内容,并且将该次保存的内容出栈(即将栈顶出栈,释放最近一次保存的内容后将该次保存内容删除)(git stash pop)

注意:该命令将堆栈中最新保存的内容删除

4、git stash list

        查看当前stash的所有内容列表

git 查看stash里面的内容,git,github

        如上图所示,stash@{0}和stash@{1}分别是两次保存的修改,stash@{0}是最新的一次提交暂存信息。

5、git stash apply
        将堆栈中的内容恢复到当前分支下。这个命令不同于 git stash pop。该命令不会将内容从对堆栈中删除,也就是该命令能够将堆栈的内容多次运用到工作目录,适合用与多个分支的场景。

应用某一次的存储内容,但不删除改内容(即该存储的内容还是存储在栈内  git apply)

    使用方法:git stash apply stash@{$num}

注意:VSCode中git stash list 报错 ‘error: unknown switch `e‘’问题_error: unknown command: switch_PinkM∞n7的博客-CSDN博客

6、git stash drop  从堆栈中移除指定的stash

        使用方法:git stash drop stash@{$num}

git 查看stash里面的内容,git,github

        如上图所示,将最近一次存储释放之后,使用git stash list 查看存储列表,已经由原来的两条存储变成了一条。

7、git stash clear
        移除全部的stash

8、git stash show
     查看堆栈中最新保存的stash和当前⽬录的差异,显⽰做了哪些改动,默认show第一个存储
git 查看stash里面的内容,git,github

9、 git stash show -p

        显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

git 查看stash里面的内容,git,github

 

举例说明

1. git status  查看当前的分支 状态

git 查看stash里面的内容,git,github

如图上所示 ,使用git status 看到当前修改了leetcode/src/com/lc/leetcode/leetcode0.java
文件,若要将该修改保存下来,直接使用git stash命令就可以了。

2. git stash save ‘comment some key words’

如果想要 给当前压栈存储的修改添加说明信息(如果没有指定信息,则说明信息为最新的commit信息),使用git stash save "存储的信息",引号内为该次暂存储的说明。如下图所示:

git 查看stash里面的内容,git,github

3. git stash list 查看当前的暂存列表 

git 查看stash里面的内容,git,github

4.切换到某个其他分支 

git checkout  otherBranch

5. 在其他分支 修改完代码后,在切换回当前的开发分支 继续开发

6.git stash apply stash@{$num} 

如把刚刚暂存的代码继续暴露出来 继续开发

git 查看stash里面的内容,git,github

当遇到这个问题时:参考解决办法文章:VSCode中git stash list 报错 ‘error: unknown switch `e‘’问题_error: unknown command: switch_PinkM∞n7的博客-CSDN博客 git 查看stash里面的内容,git,github

 如本例子中的

git 查看stash里面的内容,git,github

 这时 我们暂存的代码已恢复出来了,可以基于此继续相关的开发工作了。文章来源地址https://www.toymoban.com/news/detail-682716.html

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

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

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

相关文章

  • Git stash命令

    Git stash Git stash用来暂存当前正在进行的工作, 将工作区还没加入索引库的内容压入本地的Git栈中,在需要应用的时候再弹出来。比如想pull 最新代码,又不想加新commit;或者为了修复一个紧急的bug,先stash,使返回到自己上一个commit,改完bug之后再stash pop,继续原来的工作。

    2024年02月13日
    浏览(49)
  • Git基础操作:git stash 相关命令举例讲解

    git stash 是 Git 提供的一个强大的工具,它允许你临时保存(或“暂存”)当前工作目录和索引(暂存区)的改动,从而可以切换分支或执行其他操作而不影响当前的工作状态。下面是 git stash 的一些常用命令及其解释: git stash 这条命令会将当前的工作目录和暂存区的改动保存

    2024年01月24日
    浏览(46)
  • Git 储藏(stash)详解

    此文在阅读前需要有一定的git命令基础,若基础尚未掌握,建议先阅读这篇文章Git命令播报详版 在平常的工作中,当我们在单独拉取的功能分支中进行开发时,遇到线上出现bug需要进行紧急修复,我们需要切换到主分支,进行代码的修复。但是我们直接在本地切换到主分支,

    2024年02月08日
    浏览(43)
  • git stash详解

    应用场景: 1 当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复

    2024年02月09日
    浏览(49)
  • Git stash系列详解和使用

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

    2024年02月02日
    浏览(37)
  • 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)
  • IDEA中如何实现 git stash 命令的可视化操作?

    目录 问题现象: 问题分析: 拓展:git stash 相关命令 1、git stash 2、git stash save \\\'注释\\\' 3、git stash list 4、git stash pop 5、git stash apply stash@{编号} 6、git stash drop stash@{编号} 7、git stash clear 8、git stash show   解决方法:         今天在项目想到一个问题:         在同一个代码

    2024年02月03日
    浏览(49)
  • (详解踩坑)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的用法

    当你代码写到一半而需要切换到其他分支时,此时需要提交本地代码才可以进行切换,然而此时会产生一个非常冗余的commit,所以我们可以通过使用 git stash 将代码推入git栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的切换分支,等待忙碌切

    2024年02月04日
    浏览(53)
  • git stash 正确用法

    目录 一、背景 二、使用 2.1 使用之前,先简单了解下 git stash 干了什么:  2.2 git stash 相关命令 2.3 使用流程 1. 执行 `git stash`  2. 查看刚才保存的工作进度 `git stash list` 3. 这时候在看分支已经是干净无修改的(改动都有暂存到 stash) 4. 现在就可以正常切换到目标分支,进行相应

    2024年02月20日
    浏览(75)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包