如何制作git stash包括尚未上演的新文件?

时间:2016-06-21 23:52:25

标签: git git-extensions

我不是git的专家,但我已经使用了几年了。最近我发现了一些与藏匿有关的奇怪行为。它似乎只对我有用。

例如今天我试图隐藏4个未提交的更改。 1个文件被添加到存储,其余3个保留为未提交的更改。尝试了几次,在第一次尝试之后,我刚刚得到"没有本地更改保存"但状态仍显示3个未提交的更改。

然而,巧合的是,我发现当我第一次进行先前无法改变的变化时,它们将被正常隐藏。我已经玩了,这是可重复的:如果所有更改都未提交,则只保留一个更改。如果"问题"更改将被暂存,然后所有更改都被隐藏(无论"良好"更改是否已暂停,它将始终存储)。

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

我使用Git for Windows 2.8.2和Git Extensions 2.48.05。

我是否尝试通过Git Extensions GUI或通过控制台存储更改并不重要。

编辑:如果我在存储之前暂存所有4个更改,当我进行存储弹出时,3个问题更改将像以前一样暂存,但是总是存储的良好更改是未提交的。因此,存储弹出不会将状态转换为存储之前的状态。这也是可重复的。

1 个答案:

答案 0 :(得分:29)

问题似乎是默认情况下stash命令不包含未跟踪的文件。

要包含未跟踪的文件,请使用-u--include-untracked)标记:

git stash -u
  

如果使用 - include-untracked 选项,则所有未跟踪的文件都是   也被藏起来然后用git清理干净,留下工作   目录处于非常干净的状态。