Git stash无法应用未跟踪的文件。

5

我把我的文件存储起来,包括一个新的文件 src/***/Microservices.jsx。现在我在我的存储中看到了它:

> git stash show
 src/***/***.jsx                 |  5 ++---
 src/***/table-view/***.jsx  |  4 ++--
 src/***/table-view/SubGroup.jsx | 37 -------------------------------------
 src/***/views.js                |  2 ++
 4 files changed, 6 insertions(+), 42 deletions(-)

> git stash show --include-untracked
 src/***/***.jsx                                    |  5 +--
 src/***/Microservices.jsx                          | 48 ++++++++++++++++++++++
 src/***/{table-view => microservices}/SubGroup.jsx | 14 ++++---
 src/***/table-view/***.jsx                     |  4 +-
 src/***/views.js                                   |  2 +
 5 files changed, 63 insertions(+), 10 deletions(-)

但无论我怎么尝试(应用git stash apply [--index]git stash pop或使用下面的git扩展名),我都无法应用此文件。

我该怎么办才能继续处理这个文件?


Git Graph VSCode扩展程序中的屏幕截图:

stash details

您可以看到Microservices.jsx文件,并且我可以单击它并在存储库中查看此文件的差异。


git stash showgit status 的输出是什么? - itamar
当你在 Git 图表中提到某个提交并使用 git show 命令时会发生什么? - Fruch
1
根据这个答案,您可以尝试使用git show --name-only 'stash@{0}^3'来验证该文件是否在存储中。这是为了确保扩展名不会引起任何问题。另外,您是使用git stash apply stash@{0}命令还是尝试通过扩展应用更改? - Gautham M
@GauthamM,我更新了问题...我看到这些文件,但是仍然不知道如何应用它们。 - baruchiro
@baruchiro 我认为既然您能够使用扩展程序查看差异,那么在备份文件之后,您可以尝试 git stash pop stash@{0}。只是好奇当 apply 失败时,pop 是否会成功。 - Gautham M
@GauthamM 同样适用于 pop - baruchiro
1个回答

2
这是因为您的新文件未被跟踪。您可以使用以下方法隐藏未跟踪的文件:
git stash --include-untracked

Git v2.35 中有一个新功能,可以像提交一样处理暂存(stash)

git add -A
git stash --staged

首先将要存储的所有文件添加到暂存区,然后检查并存储它。


4
好的,这是关于如何存储的问题,但是如果当前情况下,存储区显示了一个文件但无法应用它怎么办? - baruchiro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接