相关问题How do you stash an untracked file?的回答是“跟踪文件”。但是,这并不适合我的特殊需要。
我正在尝试使用git stash save --keep-index
存储不在索引中的所有内容,以便我可以在预提交挂钩中验证索引。这个想法来自git-stash手册页的“测试部分提交”示例。我想确保我实际提交的内容通过了测试,而不仅仅是工作目录中的内容。这是我到目前为止所做的:
echo "Running tests on the staging area."
git stash save --keep-index
# configure, build, run tests, clean
git stash pop; true
这似乎有效,直到我的工作目录中没有未跟踪的文件,这些文件没有被隐藏。一些搜索产生了两年前的功能请求:Option to save untracked and/or ignored files in stash,但没有别的。
我应该使用藏匿处吗?也许这是涉及临时分支或其他事情的更好方式。
答案 0 :(得分:13)
当我回答相关问题时,答案现在是:
从git 1.7.7开始,git stash
接受--include-untracked
选项,在您的藏匿处中包含未跟踪的文件。
git stash --include-untracked
或者您可以使用短-u
选项。
git stash -u
答案 1 :(得分:2)
不,git stash只会“记录工作目录和索引的当前状态”。因此,存储不会拾取未跟踪的文件。
如你所说,切换到临时分支并在那里跟踪未跟踪的文件似乎是一种合理的方法。