Git 常见操作之暂存代码

1,773 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情

暂存代码

暂存代码保护现场

这种情况一般是出现在你正在完成一个功能,但是忽然线上发现了一个Bug,必须马上开一个新的分支来修复bug,但是现在的功能没写完不打算提交(commit),现在怎么办??

不用怕!暂存代码来帮助你。请看下图内容

status查看到有2个文件修改没有提交

  1. git stash命令可以把现在的工作区全部的修改,包括新文件,修改、删除等所有的操作,全部保存起来,恢复现场,把修改放到暂存区并用上一次的commit信息来命名这次储存(用一个别名来条记录,这里记作 stash@{0},方便使用)
  2. git stash list列出暂存区所有记录,如果有多次暂存就会有多条记录,可以看到此时有一条记录

我们可以看到,现在的工作区多么的清爽

为了凸显,暂存代码的主题,我们省略掉一些操作:

  1. 创建一个bug分支
  2. 修复现有bug
  3. 修复完成后提交到主线
  4. 切回来当前分支继续开发

恢复现场

git stash apply重新把暂存区内容放到本地

有的朋友问我为什么要用命令行,用可视化页面不可以吗?

  • 还真的是可以的,但是命令行最好的作用就是像一本指导书一样,就像上面的图片,输入一个命令下面会自动给出各种提示,非常方便
  • 而且懂命令行还可以保证操作不会因为可视化工具的翻译问题而误操作
  • 一些高级操作像不小心把代码删掉了,只会可视化页面基本只能哭了

清理缓存

上一节的git stash apply成功的把暂存区的一次暂存恢复到了本地,但是暂存区还有会保存这次暂存,如果想删除这次暂存要用git stash drop来删除;也可以用git stash pop,恢复最后一次暂存的同时把stash内容也删了。

好了,暂存区清干净了。

注意:要放到暂存区的文件一定要先通过git add加到index