Git stash :)
假如你现已运用Git有一段时间了, 你或许现已运用过Git stash. 它是Git的实用功能之一.
下面是我学到的一些关于Git stash的实用技巧, 我将与你们共享一下.
- Git stash save
- Git stash list
- Git stash apply
- Git stash pop
- Git stash show
- Git stash branch
- Git stash clear
- Git stash drop
Git stash save
该指令与Git stash类似. 但该指令有多种选项. 我将在这篇文章中评论一些重要的选项.
带有message的Git stash
git stash save “Your stash message”.
上面的指令是带有message的stash. 咱们稍后会看到这有什么用.
stash未被追踪的文件
你也能够stash未被追踪的文件.
git stash save -uorgit stash save --include-untracked
Git stash list
在评论这条指令之前, 让我先介绍一下stash的作业原理.
当你运用Git stash或Git stash save时, Git实际上会用一些名字创建一个Git提交对象, 并将其保存在你的repo中.
这意味着你能够随时检查你的stash列表:
git stash list
请看下面的比如:
git stash list示例
您能够看到已创建的stash列表. 最新的stash在最上面.
你还能看到最上面的stash被赋予了一条自定义信息(通过Git stash save “message”).
Git stash apply
该指令选取库房中最顶层的stash, 并将其运用到库房中. 在咱们的比如中, 它是 stash@{0}.
假如你想运用其他存储库, 能够指定stash的id.
下面是一个比如:
git stash apply stash@{1}
Git stash pop
这条指令与stash apply非常相似, 但它会在运用后从库房中删去栈顶的stash.
下面是一个比如:
Git stash pop示例
正如你所看到的, 顶部的stash被删去, **stash@{0}**被更新为旧的stash.
相同, 假如想弹出某个特定的stash, 也能够指定stash的id:
git stash pop stash@{1}
Git stash show
此指令显示stash差异的摘要. 上面的指令只考虑最新的stash.
下面是一个比如:
Git stash show示例
假如想检查完好的差异, 能够运用:
git stash show -p
与其他指令类似, 你也能够指定stash的id来获取差异摘要.
git stash show stash@{1}
Git stash branch
这条指令会用最新的stash创建一个新分支, 然后删去最新的stash(就像stash pop一样).
假如需要特定的stash, 能够指定stash的id:
git stash branch <name> stash@{1}
当你把stash运用到最新版本的分支后, 遇到抵触时, 这个方法会很有用.
Git stash clear
这条指令会删去库房中的一切stash. 或许无法还原.
Git stash drop
该指令会从库房中删去最新的stash. 但请谨慎运用, 由于或许难以康复.
你也能够指定stash的id:
git stash drop stash@{1}
希望你能学到一些关于Git stash的有用技巧.
假如你喜欢这篇文章, 请点赞, 收藏并共享它 :) :)