一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情。
只为激励自己学习。
因为公司代码管理使用的是Git,所以需要学习或记录工作中遇到的问题。
一、使用场景(问题)
当你在git分支中改代码时,接到任务需要修复一个bug,你需要切换分支来处理bug,当然不能把你刚才写的代码带到那个分支,因为你做的新功能还没测,更不能提交。所以你需要git stash命令暂存修改(git stash帮助开发人员暂时搁置当前已做的改动,倒退到改动前的状态)
二、操作
- 保存
git stash // 没有注释
git stash save "注释" // 有注释
- 查看
git stash list
- 显示改动
默认展示最后一次stash的内容 git stash ,要显示其他存储 添加 stash@{$num}, 例如: git stash show stash@{1}
git stash show stash@{$num}
- 恢复之前缓存的内容
默认恢复最后一次stash的内容 git stash apply ,如果要还原其他缓存内容, 添加 stash@{$num}, 例如:git stash apply stash@{1}
git stash apply stash@{$num}
- 恢复之前缓存的内容, 并在缓存里删除当前恢复的内容
默认恢复最后一次stash的内容并删除 git stash pop ,如果要还原其他缓存内容, 添加 stash@{$num}, 例如:git stash pop stash@{1}
git stash pop stash@{$num}
- 删除
git stash drop stash@{$num}
- 清除
删除所有缓存的stash
git stash clear
三、工作区域 —— 延伸
Git有四个工作区域: 代码区域(working directory)、暂存区(stash)、本地仓库(repository)、远程仓库(remote directory)
- 代码区域:就是平时存放项目代码的地方。
- 暂存区:用于临时存放你的改动,事实上只是一个文件,保存即将提交到文件列表信息。
- 本地仓库:就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
- 远程仓库:托管代码的服务器,可以简单的认为是你项目组中一台电脑用于远程数据交换。