如何使git存储包含尚未暂存的新文件?

如何使git存储包含尚未暂存的新文件?,git,git-extensions,Git,Git Extensions,我不是git方面的专家,但我已经使用它好几年了。最近我注意到一些与藏匿有关的奇怪行为。这似乎只是对我起了部分作用 例如,今天我试图隐藏4个未提交的更改。1个文件被添加到隐藏中,其余3个作为未提交的更改保留。尝试了几次,在第一次尝试之后,我只是得到了“无需保存的本地更改”,但状态仍然显示了3个未提交的更改 然而,巧合的是,我发现,当我第一次处理之前不稳定的变化时,它们会被正常地隐藏起来。我已经玩过了,这是可以重复的:如果所有的更改都未提交,那么只会隐藏一个更改。如果“问题”更改被暂存,那么所有更改

我不是git方面的专家,但我已经使用它好几年了。最近我注意到一些与藏匿有关的奇怪行为。这似乎只是对我起了部分作用

例如,今天我试图隐藏4个未提交的更改。1个文件被添加到隐藏中,其余3个作为未提交的更改保留。尝试了几次,在第一次尝试之后,我只是得到了“无需保存的本地更改”,但状态仍然显示了3个未提交的更改

然而,巧合的是,我发现,当我第一次处理之前不稳定的变化时,它们会被正常地隐藏起来。我已经玩过了,这是可以重复的:如果所有的更改都未提交,那么只会隐藏一个更改。如果“问题”更改被暂存,那么所有更改都被隐藏(不管“好”更改是否暂存,它都将被隐藏)

这是一个错误还是我做错了什么

我正在使用Git for Windows 2.8.2和Git Extensions 2.48.05

无论我是尝试通过Git Extensions GUI还是通过控制台隐藏更改,这都无关紧要


编辑:如果我在隐藏之前暂存所有4个更改,当我进行隐藏弹出时,3个有问题的更改会像以前一样暂存,但是好的更改(总是隐藏)是未提交的。因此,隐藏流行不会使状态返回到隐藏之前的状态。这也是可以重复的。

问题似乎是,默认情况下,该命令将不包括未跟踪的文件

要包括未跟踪的文件,请使用
-u
-包括未跟踪的文件)标志:

如果使用了--include untracked选项,则会删除所有未跟踪的文件 还藏起来,然后用git clean清理干净,留下工作区 目录处于非常干净的状态


也许Git没有跟踪没有被暂存的文件?试试看git stash-u
@Jonathan.Brink:这就是答案。不会隐藏的更改是尚未跟踪的新文件。我设置了-u标志,他们毫无问题地隐藏了起来。如果你想回答这个问题,我会接受的。这回答了你的问题吗?正如回答中提到的,使用
git stash-u
命令
git stash-u
确实可以解决这个问题,但是使用git扩展,在添加到stash时自动使用
-u
的配置设置将非常好。在我的版本(2.51)中,此设置似乎不存在。知道这是否会发生(或者已经发生了?)吗?@Dominique您可以做的一件事是创建一个别名,这样您就不必担心添加
-u
标志:
git config--global alias.stashu“stash-u”
。然后使用以下命令调用别名:
git stashu
@Dominique和其他人想知道,如果您谈论git扩展,那么Windows git GUI不是简单的隐藏,而是选择Create a Stash并选中Include untracked files。
git stash -u