git stash
主要用于在开发中将不完整的修改进行缓存,避免不必要的 commit log。
比如我们在业务开发过程中突然被打断要去切到其他分支去修改 bug 或者添加新的功能,但是当前手头上的业务并没有开发完善,不足以作为一个 feature 进行 commit,我们最好的办法就是使用 git stash 命令,将修改存储起来,当其他任务修改完成后,可以从 git 中再取出来,进行后续开发。
比如我们有一个新的修改:
我们可以使用 git stash
命令将这个修改存储起来:
通过 git stash show list
可以看到缓存取的所有版本,然后可以使用 git stash show stash@{0}
(show 后面是 stash 的版本号) 看到 stash 和当前分支的差异:
我们可以使用 git stash pop
将最新的 stash 弹回到当前分支:
这个时候 stash list 中对应的版本也会被删除,如果想要应用的同时还保留存储可以使用 git stash apply
:
其他命令:
- git stash drop #stashversion 删除对应的 stash
- git stash branch #banshname 从 stash 上创建分支(注意会删除掉原本的 stash)
总结:使用 git stash
的主要目的还是想要保留开发中一次 commit
的完整性,让 commit log 更加清晰便于回溯和修改。