CSDN|有了 Git 这个操作,我再也不怕代码混乱了!( 二 )


另外就是当我们应用储藏的时候 , 会发现我们之前add过的文件又重新回到了未暂存的状态 。 如果我们想要重新回到文件被暂存的状态时 , 我们可以使用 index 选项来执行 。

git stash apply --index
对于我们已经不想要的储藏记录 , 我们可以执行 git stash drop 来进行删除 。
其他技巧
除了上述的功能之外 , git stash 还有一些其他的用法 。
比如 --keep-index 选项 , 在不加这个选项的时候 , 当我们使用 git stash , 它会 把所有没有 commit 的内容全部 stash 。 但是有的时候我们不希望这样 , 我们希望它只暂存我们没有add到暂存区的内容 。 这个时候我们就可以通过这个参数实现 。
另外一个参数是-u 或者是 --include-untracked , 我们从这个名字上也看得出来 。 它们的意思是在 stash 的时候将新创建并且还没有被 git 管理的文件也一并储藏起来 。
除此之外 , 还有--patch 的功能也很常用 。 patch 我们曾经在上篇文章讲解交互式命令的时候讲到过 , 它可以将 git 针对的改动缩小到代码而不是文件级别 。交互式地和我们操作哪些代码层面的改动需要存储起来 , 操作方法和上篇文章介绍的一样 。 大家如果有所遗忘可以在文末找到上一篇的文章进行回顾 。
【CSDN|有了 Git 这个操作,我再也不怕代码混乱了!】
CSDN|有了 Git 这个操作,我再也不怕代码混乱了!
本文插图
最后一个功能是从储藏上新建一个分支 , 有的时候我们先储存了代码之后又继续进行了一些工作 。 这个时候如果我们再恢复从前的改动则会引起冲突 。 这个时候我们可以运行 git stash branch 新建一个新的分支 , 在这个分支上应用我们的提交 。
gitstash branch applystash
应用成功之后 Git 会自动抛弃掉对应的 stash 记录 , 非常方便 , 不过我个人没有用过 , 因为实际工作当中没有遇到这么复杂的情况 。


推荐阅读