git之stash

简介: git stash使用的场景是,正在某个分支上开发新功能,突然来了BUG,要切换到其它分支修改BUG,但目前分支的代码还不想提交,就只能先使用git stash 命令暂存,然后切换到新的分支。如果当前分支的代码没有提交,git拒绝切换分支的请求---这挺合情合理,因为切换分支涉及到工作目录的更新,git索引的重建,如果当前工作目录修改了,git总不能将你辛辛苦苦的成果抹去吧。

git stash使用的场景是,正在某个分支上开发新功能,突然来了BUG,要切换到其它分支修改BUG,但目前分支的代码还不想提交,就只能先使用git stash 命令暂存,然后切换到新的分支。

如果当前分支的代码没有提交,git拒绝切换分支的请求---这挺合情合理,因为切换分支涉及到工作目录的更新,git索引的重建,如果当前工作目录修改了,git总不能将你辛辛苦苦的成果抹去吧

git stash 常用命令:

  1. git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
  2. git stash list :查看stash了哪些存储
  3. git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
  4. git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p
  5. git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
  6. git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
  7. git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
  8. git stash clear :删除所有缓存的stash

注意:

git add 只是把文件加到git 版本控制里,并不等于就被stash起来了,git add和git stash 没有必然的关系,但是执行git stash 能正确存储的前提是文件必须在git 版本控制中才行。

相关文章
|
3月前
|
开发工具 git
|
4月前
|
测试技术 开发工具 文件存储
Git Stash
【8月更文挑战第27天】
63 6
|
4月前
|
存储 小程序 安全
【技巧】git stash用的好,切换分支随便搞
本文详细介绍了 Git 中的 `git stash` 命令,帮助你在切换分支时临时保存未提交的更改。通过实际操作示例,展示了如何使用 `git stash` 的各种命令,如 `save`、`list`、`apply` 等。无论你是初学者还是有一定经验的开发者,都能从中受益。
71 0
【技巧】git stash用的好,切换分支随便搞
|
7月前
|
存储 开发工具 git
(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert
(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert
633 0
|
开发工具 git
百度搜索:蓝易云【git常用命令stash详细解释。】
使用 `stash`命令可以在处理多个分支切换或者保存临时修改时非常有用。你可以通过 `stash`命令保存当前工作目录的修改,切换到其他分支或者应用其他更改,然后再返回并应用之前保存的stash。这样可以确保你的工作目录始终保持干净,并且不会丢失任何重要的修改。
270 4
|
开发工具 git C++
【Git】stash 仅贮存指定文件的修改
如何使用 git stash 贮存单个或多个文件
2988 0
|
缓存 开发工具 git
Git学习笔记(二) git stash
Git学习笔记(二) git stash
1064 0
|
开发工具 git
需求开发到一半需要改别的分支的bug该怎么办呢?(git stash 和 git commit)
需求开发到一半需要改别的分支的bug该怎么办呢?(git stash 和 git commit)
169 0
需求开发到一半需要改别的分支的bug该怎么办呢?(git stash 和 git commit)
|
存储 开发工具 git
git stash误使用drop删掉本地保存,再恢复代码一次记录
git stash误使用drop删掉本地保存,再恢复代码一次记录
1120 0
git stash误使用drop删掉本地保存,再恢复代码一次记录
|
存储 开发工具 git
git stash , git fetch 和 git clear
git stash , git fetch 和 git clear
117 0