stash 命令的理解
stash 命令 会将最近一次 commit 提交运用到 工作区 和 暂存区
git stash apply –index
若在 stash 命令之前 已进行了 git add 操作,git stash pop 操作后,之前暂存的文件却没有重新暂存。
想要那样的话,必须使用 –index 选项来运行 git stash apply 命令,来尝试重新应用暂存的修改。
1 | $ git stash apply --index |
git stash –keep-index
它告诉 Git 不要储藏任何你通过 git add 命令已暂存的东西。
1 | $ git status -s |
针对 untracked 未追踪的文件
git stash -u (–include-untracked)
储藏未跟踪文件:
默认情况下,git stash 只会储藏已经在索引中的文件。 如果指定 –include-untracked 或 -u 标记,Git 也会储藏任何创建的未跟踪文件。
1 | $ git status -s |
git stash 命令
未追踪文件在 commit History 区中没有追踪,所以 即便在进行 git stash 之后,未追踪的文件(Untracked files)依然保存在工作区当中。
1 | $ git status -s |
git add 之后, 进行 git stash 命令
如果针对未追踪的文件进行了 git add . 操作后 未追踪文件 成为 新增文件(new file),在 执行 git stash 命令。则工作目录完全恢复到上一个 commit 状态。在 git stash pop 命令之后,新增文件则是 在工作区当中恢复,并且在暂存区依然有保留,而不是直接又变成未追踪文件
1 | $ git status -s |