【发布时间】:2016-09-13 18:43:29
【问题描述】:
我遇到了一个问题,当我运行git stash -u(即存储所有,包括未跟踪的文件)时,Git 会删除我的 node_modules 目录。最重要的是,它甚至无法在 git stash pop 上恢复它 - 我必须再次运行 npm install 才能恢复它。
node_modules 在 .gitignore 中被忽略(通过node_modules/* 行),据我所知,在项目的历史中从未提交过(git log --all -- node_modules 没有返回任何内容)。 git stash 不应该忽略它(即使在提交未跟踪的文件时)?我很确定我以前像这样使用过git stash,而 node_modules 没有任何问题。
更新:我已经检查过了,这个问题不仅限于特定项目 - 它似乎发生在我运行 git stash -u 的任何地方。值得一提的是,我的 Git 版本是 2.6.3.windows.1(在 Windows 上)。
【问题讨论】:
-
对我来说没问题。这似乎不是git中的问题。你可以在别人的机器上试一下,看看会不会发生?
-
你使用的 Git 版本和我一样吗?
-
没有。但我想这与Git的版本没有任何关系。赛义德在下面的回答可能有正确的方向。
-
嗯,假设它与 Git 的版本无关似乎有点草率,因为(a)它可能不应该发生(即。我不认为它是
git stash的预期行为和 (b) 这是以前不会发生的事情(在我的机器上)。 -
我的机器上有类似的问题。当我使用
git stash -u时,它会删除我所有的 NuGet 包,即使我的.gitignore中有**/packages/*。我的 git 版本是 2.8.4.windows.1。
标签: git gitignore node-modules git-stash