前言
工作中应用 git 根本有三年多了,然而竟然最近才发现 git stash 这个命令,在抵赖本人学艺不精的同时也感叹 git 性能的弱小和便捷。废话少说,明天次要介绍下 git stash 命令的应用场景和用法介绍,给还没用过的敌人举荐下,预计你理解过后,可能就离不开它了。
应用场景
- 当你在开发中批改了未提交的代码, 忽然须要跳转到其余分支或者须要拉取主分支的更新, 这时候能够应用 git stash 将未提交的批改存入栈中, 等解决完其余事件后能够应用 git stash pop 将批改还原。
- 当你在开发中进行了一半但还不想提交的批改, 须要临时中断开发去修复一个紧急 bug, 这时候能够应用 git stash 将以后批改存入栈中, 等 bug 修复后再应用 git stash pop 将之前的批改还原持续开发。
像我之前常常是在一个分支上正在批改某个问题或者开发一个新的个性的时候,须要长期切换到其它分支看个代码或者做批改,之前采纳的办法就是 clone 一份新的代码再进行批改,或者把以后的批改长期 commit 了,再切换分支。当初看来都是挺蠢的做法,用 git stash 能够完满的解决这个问题。
应用介绍
为了不便显示成果,我在本地新建了个 test.txt 文件用于演示
1. git stash: 将当前工作区的批改存入栈中, 工作区会复原成洁净的状态。
2. git stash list: 查看栈中所有的暂存, 每个暂存都有一个编号。
3. git stash apply: 利用栈顶的暂存, 但不会把它从栈中删除。
4. git stash drop <stash@{id}>: 删除指定编号的暂存。
5. git stash pop: 利用栈顶的暂存, 并将它从栈中删除。
6. git stash branch <branch><stash@{n}>: 基于指定编号的暂存创立一个新的分支。
7. git stash clear: 清空栈, 删除所有暂存。