如果你一直在使用 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 很像。 但是这个命令带有各种选项。 我将在这篇文章中讨论一些重要的选项。
Git stash with message
git stash save “Your stash message”.
上面的命令存储了一条消息。 在之后会对我们有所帮助。
存储未跟踪的文件
你也可以存储未跟踪的文件。
git stash save -u
or
git stash save --include-untracked
在讨论这个命令之前,让我告诉你一些关于 stash 是如何运作的事。
当你敲入 Git stash 或 Git stash save 时,Git 实际上会创建一个 Git commit 对象,然后将它保存在你的代码仓库中。
这意味着你可以随时查看创建的 stashes 列表。
git stash list
看下面的例子:
你可以看到生成的 stashes 列表。最近生成的排在最前面。
你可以看到,第一个 stash 给出了一个自定义的消息(使用 Git stash save “message”)。
这个命令将堆栈中最顶层的 stash 拿出并交回给代码仓库。在我们的示例中,就是 stash@{0} 。
如果你想获取一些其他的 stash ,你可以指定 stash ID 。
示例:
git stash apply stash@{1}
这个命令与 stash apply 命令非常相似,但是在 stash 取回之后从堆栈中删除了 stash 。
示例如下:
正如你所看到的,第一个 stash 被删除了,并且 stash@{0} 更新为了上一个版本的 stash 。
同样的,如果你想取出一个特定的 stash ,你可以指定存储器 ID 。
git stash pop stash@{1}
这个命令显示了 stash 之间的差异的概要。上述命令只涉及最新的 stash 。
示例如下:
如果想看完整的差异信息,可以使用
git stash show -p
与其他命令类似,也可以指定 stash ID 来获取差异的概要。
git stash show stash@{1}
这个命令创建一个最新 stash 的新的分支,然后删除该 stash(类似 stash pop )。
如果你需要一个特定的 stash 你可以指定 stash ID 。
git stash branch stash@{1}
当将 stash 应用到最新版本的分支后遇到冲突时,这将会非常有用。
该命令删除仓库中的所有的 stashes 。也许不能恢复。
该命令从堆栈中删除最新的stash。 但谨慎使用,可能难以恢复。
同样可以指定 stash ID 。
git stash drop stash@{1}
希望你能得到一些关于 Git stash 的有用的技巧。
如果你喜欢这篇文章,请试着给一些鼓掌和分享:)
原文来自:开源中国社区
声明:所有来源为“澳门太阳集团城网址8722”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com