git stash命令保存工作区和暂存区的改变

当你想切换分支时,但工作区已经修改过了,如果你想切换分支,那么很遗憾,git会报错。这时候git stash 命令就派上用场了。这个命令可以保存工作区的修改。然后你就可以切换分支了。下面是这个命令的具体的用法
tips:此命令对于已经被跟踪的文件才会有效!

git stash :保存当前工作区和暂存区的修改。

git stash save “描述信息” :如果保存的内容过多可能会导致无法辨别需要恢复的保存记录,这时候就加上 save参数后面双引号后面填写此次保存的描述信息。

git stash list : 显示保存列表。

git stash pop : 恢复最近保存的记录并把恢复的记录从保存列表中删除。只恢复工作区!(默认会将被恢复的操作保留在工作区,但是不会自动帮你重新暂存)

git stash pop --index :与上面命令的效果一样但是还会恢复暂存区!

git stash pop stash@{序号} :恢复保存列表里面指定的保存记录,并把恢复的记录从保存列表中删除。

git stash --patch :保存之前先比较工作区和HEAD之间的区别,然后选择是否重新编辑需要保存的文件。

git stash apply :恢复最近保存的记录但不会删除保存列表里面对应的记录。(默认会将被恢复的操作保留在工作区,但是不会自动帮你重新暂存)

git stash drop:删除保存列表里面最近保存的记录。后面加上 stash@{序号}可以删除指定的保存记录。

git stash clear :删除保存列表里面所以的保存记录。

git stash 分支名 stash@{序号}:修改了demo里面的内容之后使用 git stash 保存demo文件里面的修改,如果此时你修改了demo文件然后在使用git stash pop或者git stash apply 恢复之前修改demo里的内容,那么此时可能会引发冲突。此时就可以使用此命令。这个命令会创建一个分支然后在创建的分支上把保存的记录恢复出来。

tips :当你在master分支上工作时你不想把已经修改的内容提交到master分支上而想提交到feature分支上,这时候可以使用git stash把当前工作区和暂存区保存起来然后在切换到feature分支上pop或者apply出来。这样你可以把在master分支工作时修改的内容提交到feature分支上。

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

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,958评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 3,963评论 0 11
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,718评论 4 54
  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 2,103评论 0 18
  • 今天是个特别的日子,很感谢以前的同事送来的祝福。快十年了,还能感觉到同事之间的那份真挚的友谊,感恩生命中有你们。 ...
    2019影阅读 228评论 0 2