Git:如何在SourceTree中取消暂存特定文件?

6
我经常使用Atlassian的Sourcetree。它是一个非常有用的GUI Git客户端。但是当我想要取回特定文件时,Sourcetree的stash会应用所有已存储的更改。我想做的是在SourceTree中选择性地取回文件,就像以下git命令一样: git checkout stash@{0} <filename> 有人知道如何做到这一点吗?

1
我们可以问一下您为什么要首先应用部分存储?我认为这是对存储的相当非典型使用。 - Tim Biegeleisen
翻译:无法复制 https://dev59.com/m3A75IYBdhLWcg3w6Nhj#8333163 的简短回答是,你不能。 - lukas-reineke
这是一个稍微有些误解的表达,我认为。在大多数情况下,撤销所有更改都没问题。但有时候我不想应用所有已经存储的更改。例如,在一个由许多人共同开发的项目中,我正在分支A上工作,某个时刻我必须拉取远程开发分支,我们会将更改推送或提交拉取请求到该分支。在这种情况下,我会存储本地更改,然后拉取远程开发分支。基本上,我接受开发分支的更改,但我想应用一些文件的存储更改。 - Kazunori Takaishi
1
可能会有部分重复,但我想在SourceTree中做与git命令相同的事情。 - Kazunori Takaishi
1个回答

5
这是一个相当旧的问题,但它在我的谷歌搜索中出现了,所以这里有一个部分答案。
引用: 要隐藏选择的文件: 1.暂存您想要隐藏的文件。 2.然后隐藏所有文件,但确保选中“保留暂存的更改”。 3.现在您只有您想要隐藏的文件在您当前的工作副本中。 4.隐藏所有文件,不选中“保留暂存的更改”。 5.然后您可以重新应用第一个隐藏,并丢弃您想要隐藏的文件。
来自此处。有点笨拙,但就是这样。
我想我会应用整个隐藏而不删除它,使用上述过程仅隐藏您要应用的文件,丢弃所有内容,然后应用您构建的部分隐藏。
在命令行上,您可能可以简化一些步骤,我想...

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