git stash 的一些使用技巧
git stash save
和 git stash 类似,但是可以携带一些参数。
git stash with message
git stash save “Your stash message”.
stash 的时候携带一些 messgage 信息,可以方便标识 stash 的内容是做了什么修改。
stashing untracked files
默认情况下,git stash会缓存下列文件:
- 添加到暂存区的修改(staged changes)
- Git跟踪的但并未添加到暂存区的修改(unstaged changes) 但不会缓存一下文件:
- 在工作目录中新的文件(untracked files)
- 被忽略的文件(ignored files)
stash 未被跟踪的文件
git stash save -u
or
git stash save --include-untracked
git stash list
当使用 git stash 或 git stash save 时,Git 实际上会创建一个具有某个名称的 Git Commit 保存在 Repo 中。可以通过 以下命令查看 stash 的一些记录。
git stash list
可以查看到所 stash 的记录,最新的 stash 位于最上面。在 stash 的时候可以通过使用 git stash save “Your stash message” 为 stash 添加一些 message 信息。
git stash apply
将 stash list 中最近的一次 stash 应用到 repo。 也可以在 apply 的时候携带 stash 的 ID
git stash apply stash@{1}
git stash pop
与 git stash apply 非常相似,但是会在 apply 之后从 stash list 中删除。
同样可以指定 stash ID。
git stash pop stash@{1}
git stash show
此命令显示 Stash Diff 的摘要。默认只显示最近的一个 stash。
如果想看到完整的差异,可以使用
git stash show -p
也可以指定 stash ID。
git stash show stash@{1}
git stash branch
应用最近的一次 stash 创建一个新的分支,然后删除该 stash。 可以指定Stash ID。
git stash branch <name> stash@{1}
git stash clear
删除 repo 中的所有 stash。
git stash drop
删除最近的一个 stash。 同样可以指定Stash ID。
git stash drop stash@{1}