首页 > 其他分享 >git stash保存和恢复进度

git stash保存和恢复进度

时间:2023-01-05 12:01:12浏览次数:39  
标签:git stash 内容 进度 堆栈 分支

git stash保存和恢复进度

一、应用场景

当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。
由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分支上进行开发,可以用git stash将内容保存至堆栈中,切回到dev分支后,再次恢复内容即可。
总的来说,git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容。这也就是说,stash中的内容不仅仅可以恢复到原先开发的分支,也可以恢复到其他任意指定的分支上。git stash作用的范围包括工作区和暂存区中的内容,也就是说没有提交的内容都会保存至堆栈中。

二、命令使用

1、git stash

保存当前工作进度,会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动。

git stash

# 使用save可以添加一些注释。
git stash save 'message...'

2、git stash list

显示保存进度的列表。

# 显示保存进度的列表
git stash list

3、git stash pop [–index] [stash_id]

如下为恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。
git stash pop

如下为恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)
git stash pop --index

如下为恢复指定的进度到工作区。stash_id是通过git stash list命令得到的。
git stash pop stash@{1}

通过git stash pop命令恢复进度后,会删除当前进度

4、git stash apply [–index] [stash_id]

将堆栈中的内容应用到当前目录,不同于git stash pop,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。

5、git stash drop [stash_id]

删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。

6、git stash clear

删除所有存储的进度。

7、git stash show

查看堆栈中最新保存的stash和当前目录的差异。

8、git stash branch

从最新的stash创建分支。
应用场景:当储藏了部分工作,暂时不去理会,继续在当前分支进行开发,后续想将stash中的内容恢复到当前工作目录时,如果是针对同一个文件的修改(即便不是同行数据),那么可能会发生冲突,恢复失败,这里通过创建新的分支来解决。可以用于解决stash中的内容和当前目录的内容发生冲突的情景。
发生冲突时,需手动解决冲突。

标签:git,stash,内容,进度,堆栈,分支
From: https://www.cnblogs.com/lc-blogs/p/17027145.html

相关文章

  • git提交代码到分支
    1、查询当前所在分支gitbranch-a2、保存当前工作进度,会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行gitstatus命令,就会发现当前是一个干净的工作区,没有......
  • git dash 密码输错了,一直报错500 怎么办
    使用gitBashHere绑定账号密码错误后无法自动重新绑定Abraham_Kevin于2018-08-1716:15:26发布1122收藏分类专栏:git文章标签:git版权git专栏收录该内容2篇文......
  • Git
    什么是版本控制?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。你可以把一个版本控制系统( VersionControlSystem  缩写VCS)理解......
  • git commit 详解
    gitcommit命令用来将本地暂存的修改提交到版本库。gitcommit-m'提交信息'。我们用的比较多的应该就是-m参数。添加提交信息。经常手抖的同学可能会知道,gitcommit......
  • git 查看/修改用户名、密码
    git查看/修改用户名、密码虎鲸2019年06月03日13:55 ·  阅读4652用户名和邮箱地址的作用:用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。每......
  • Git - 子模块
    工作中会遇到这样的问题,当你在一个项目上时,你需要在其中使用另外一个项目,这个项目也许是一个第三方开发的库或者是你独立开发 合并在多个项目中使用的。这样就会产生一个......
  • git子模块的使用
    1.在项目中添加子模块命令: gitsubmoduleadd<url>例子: gitsubmoduleaddhttps://github.com/chaconinc/DbConnector此命令在当前工作目录添加了一个名为"DbConne......
  • HelloGitHub 最受欢迎的开源项目 Top10(2022年)
    再见2022,你好2023!HelloGitHub也随着2023年的到来,更新到了第81期开始迈向第7个年头啦。在过去的2022年,我们一共发布了12期月刊、分享了502个开源项目,Hel......
  • GIT多场景下使用
    git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和一些需彰......
  • git基本原理和各种骚操作
    Git简单介绍Git是一个分布式版本控制软件,最初由LinusTorvalds创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。Git工作流程以及各个区域   ......