git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容。git stash作用的范围包括工作区和暂存区中的内容,没有提交的内容都会保存至堆栈中。
由于操作失误,导致远程代码被覆盖,此时可使用 git stash 解决;本地修改前应该尽可能的避免本地仓库与远程之间有过多的差异,本地修改前执行一次git pull先把远程更新拉到本地;提交前先把本地修改存入栈,然后从服务器端更新代码,这样可以避免过多的代码merge;
1 2 3 4 |
|
- git stash save
带备注信息的git stash,会将备注信息存储起来;
1 |
|
- git stash list
查看存储列表
1 |
|
-
git stash apply
将工作栈中最上面的 stash 应用到本地仓库中,可以通过 stash id 将某个 stash 应用到本地仓库中,本例中是 stash@{1};
1 |
|
- git stash pop
这个命令和 stash apply 非常相似,但它会在应用到本地仓库后删除这个 stash;也可以通过特定的 stash id 来 pop 某个 stash;
1 |
|
- git stash show
显示 stash 差异;这条命令只考虑和最近的 stash 比较;
完整的差异,可以使用
1 |
|
通过 stash id 来查看某个 stash 的差异
1 |
|
- git statsh branch [name]
根据最近的 stash 创建一个新的分支,然后删除最近的 stash(和 stash pop 一样);
如果需要某个 stash,可以指定stash id;
1 |
|
- git stash clear
删除仓库中创建的所有的 stash
- git stash drop
删除工作栈中最近的 stash
可以指定stash id;
1 |
|
- git stash 命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容;
- git stash 作用的范围包括工作区和暂存区中的内容,没有提交的内容都会保存至堆栈中;
- 使用场景:假如突然线上出现 bug,我们需要先切换到 master 分支,但当前分支的代码没有提交,直接切换分支,会将当前分支的新增的代码也会增加到 master 分支,而代码此时又不能commit ,这时候可以使用 git stash ;
-
git stash 代码暂存
使用 git stash 暂存代码,会把暂存区和工作区的改动保存起来;
添加备注信息,选择 CREATE STASH。当前工作区内的代码被恢复成了未修改之前的样子;
-
代码暂存还原
选择之前保存的,同时勾选 Pop stash(还原完成后,会自动删除这个 stash,不勾选则不会删除这个 stash,具体选择看情况),点击 Pop Stash 按钮,工作区之前写的代码就会恢复回来;