通过 Sourcetree / Unity 完成的 "Soft Reset" 实际上丢失了一些本地更改...为什么?

A "Soft Reset" done through Sourcetree / Unity actually lost SOME local changes... why?

我右键单击最新的,选择重置分支到此提交,然后选择 "soft, keep all local changes" 选项。

我失去了一些东西,但它保留了其他东西。
那么软重置提交到底做了什么?

软重置 (examples here) 应该只移动 Git 分支 HEAD,而不触及任何其他东西(不是索引,不是工作树)。
这意味着什么都不应该“丢失”

Microsoft/vscode issue 32459 提到:

As an author of git tooling, the fact that git clean is invoked when the intention is to discard changes only is indeed surprising. As mentioned before, the meaning of change within git is clear, and does not include untracked files.

It seems to me that the whole issue stems from introducing new terminology on top of git - this operation should use wording analog to 'hard reset' and 'soft reset'.

也许在您的情况下,执行了 git clean,未跟踪的文件被...清理(删除)。