git 暂存文件 - 切换分支

当你在dev分支开发新功能,做到一半的时候有人来找你改bug马上解决并上线,但是你新开发的任务又不想提交,这个时候你就可以使用git stash把当前开发进度保存起来,然后切换到另一个分支去修改bug,修改完提交后,再切到dev分支去开发,使用git stash pop来恢复之前的进度继续开发新功能,下面来看下操作命令行

命令行:

1.git stash save "xxx"
保存当前的进度,会把暂存区和工作区的改动保存起来。执行完这个命令之后执行git status,就会发现当前是一个干净的工作区,没有任何改动。我一般都是使用git stash save "xxx"来添加一些注释,如果不想添加注释就执行git stash。

2.git stash list
显示当前保存工作进度的列表。这也可以说明git stash可以执行多次。

3.git checkout 改动的分支名
用于修改工作区,这个命令比较危险,因为会修改的工作区且无法撤销。

4.git stash pop [-index] [stash_id]
在另一个分支改完之后,切换到正在开发的工作区,执行当前命令,git会把工作区和暂存区都恢复到工作区。

  • git stash pop 恢复最新的进度到工作区。git会把工作区和暂存区都恢复到工作区。
  • git stash pop --index 恢复最新的进度到工作区和暂存区。
  • git stash pop stash@{1} 恢复指定的进度到工作区。stash_id是通过git stash list命令得到的

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

git stash apply [-index] [stash_id]
除了不删除恢复的进度之外,其余和git stash pop命令一样

git stash drop [stash_id]
删除一个存储的进度,如果不指定stash_id,默认删除最新的

git stash clear
删除所有暂存的进度

注意:

当我们拉去远程代码又不想提交当前开发的代码,可以使用git stash命令将当前工作区保存起来,等到pull之后再还原(如果还原工作区的代码和拉去的代码有冲突需要手动解决冲突)

命令行:

git stash //暂存修改工作区

git pull //拉去远端代码

git stash pop stash@{0} //将工作区还原

注意:此操作为高危操作,如果没有恢复暂存,删除了暂存的stash,修改的内容就无法恢复了!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、git操作规范 git操作流程数据流图 Remote:远程主仓库 Repository:本地仓库 Index:...
    LHH大翰仔仔阅读 662评论 0 1
  • git stash git stash命令之后,再执行git status时,提示工作区是一个干净的工作区 使用场...
    Muscleape阅读 645评论 0 2
  • 配置 git config --global user.name [name] git config --glob...
    jamalping阅读 388评论 0 0
  • fork项目:1.将项目A fork 到我自己的仓库中作为项目B2.将项目B clone 到本地git clone...
    苏坡坡要吃婆婆酥阅读 290评论 0 0
  • git config git config命令的作用是配置git的相关信息。 配置全局的用户名和邮箱,mac下可通...
    磐璃阅读 370评论 0 0