回答了一个相关问题How do you stash an untracked file?“跟踪文件”。但是,这不适用于我的特殊需求。

我试图用git stash save --keep-index stash 索引中没有的所有内容,以便可以在预提交钩子(Hook)中验证索引。这个想法来自git-stash手册页的“测试部分提交”示例。我想确保我实际提交的内容通过测试,而不仅仅是工作目录中的内容。这是我到目前为止的内容:

echo "Running tests on the staging area."
git stash save --keep-index
# configure, build, run tests, clean
git stash pop; true

直到我在工作目录中取消跟踪未 stash 的文件之前,这似乎一直有效。一些搜索导致了两年前的功能请求:Option to save untracked and/or ignored files in stash,但仅此而已。

我应该完全使用 stash 吗?也许有更好的方法涉及临时分支或其他东西。

最佳答案

当我回答有关问题时,答案现在是:

从git 1.7.7开始,git stash接受--include-untracked选项,以将未跟踪的文件包括在您的存储中。

git stash --include-untracked

或者,您可以使用简短的-u选项。
git stash -u

关于git:我可以 stash 未跟踪的文件而不将其添加到索引中吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3269086/

10-14 02:38