Git使用教程 —— stash

407 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

只为激励自己学习。
因为公司代码管理使用的是Git,所以需要学习或记录工作中遇到的问题。

一、使用场景(问题)

当你在git分支中改代码时,接到任务需要修复一个bug,你需要切换分支来处理bug,当然不能把你刚才写的代码带到那个分支,因为你做的新功能还没测,更不能提交。所以你需要git stash命令暂存修改(git stash帮助开发人员暂时搁置当前已做的改动,倒退到改动前的状态)

二、操作

  • 保存
git stash    // 没有注释
git stash save "注释"   // 有注释

image.png

  • 查看
git stash list 

image.png

  • 显示改动

默认展示最后一次stash的内容 git stash ,要显示其他存储 添加 stash@{$num}, 例如: git stash show stash@{1}

git stash show stash@{$num}

image.png

  • 恢复之前缓存的内容

默认恢复最后一次stash的内容 git stash apply ,如果要还原其他缓存内容, 添加 stash@{$num}, 例如:git stash apply stash@{1}

git stash apply stash@{$num}

image.png

  • 恢复之前缓存的内容, 并在缓存里删除当前恢复的内容

默认恢复最后一次stash的内容并删除 git stash pop ,如果要还原其他缓存内容, 添加 stash@{$num}, 例如:git stash pop stash@{1}

git stash pop stash@{$num}

image.png

  • 删除
git stash drop stash@{$num}

image.png

  • 清除

删除所有缓存的stash

git stash clear

三、工作区域 —— 延伸

Git有四个工作区域: 代码区域(working directory)、暂存区(stash)、本地仓库(repository)、远程仓库(remote directory)

  • 代码区域:就是平时存放项目代码的地方。
  • 暂存区:用于临时存放你的改动,事实上只是一个文件,保存即将提交到文件列表信息。
  • 本地仓库:就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
  • 远程仓库:托管代码的服务器,可以简单的认为是你项目组中一台电脑用于远程数据交换。

1090617-20181008211557402-232838726.png