是否可以取消暂存(或重置)SourceTree 中的文件,如果可以,它是如何完成的?

Is it possible to unstage (or reset) a file in SourceTree and, if so, how is it done?

考虑这样一种情况,您有一个包含 2 个更改文件的工作副本,您希望单独提交(即:进行 2 次提交)。直接使用 git 你可以:

git add change1.txt

到 "stage" change1.txt 下一次提交。如果您随后决定要先提交 change2.txt,您可以:

git reset change1.txt
git add change2.txt

在 staging/working 之间交换文件,复制 而不撤消文件中的更改

我正在尝试帮助一位同事使用 GUI 执行此操作 - 在本例中,SourceTree 由 Atlassian - 但我无法弄清楚。

有一个"Add"命令,成功添加一个文件到暂存区。但是,没有"reset"命令(至少我能找到none)。有一个 "Remove" 命令,但使用它会警告:

The following files contain changes or information which is not in source control, and will be irretrievably lost if you remove them:

这意味着它不能简单地将文件从暂存区移回工作副本(就像 git reset 那样)。

是否有任何方法可以使用 SourceTree 执行上述 change1.txt 中所述的简单 "un-stage"?

Select 文件并单击 "Unstage Selected":