git-tfs:需要对文件进行搁置的挂起更改

And*_*rew 6 git tfs git-tfs

我正在尝试git-tfs,我正试图通过运行以下来取消搁置搁置:

git tfs unshelve "Shelveset Name" shelf
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

A shelved pending change on a file is required: $/path/to/dir/deleted
Run Code Online (Sandbox Code Playgroud)

"deleted"是在shelveset中删除的目录.

我只是从git-tfs开始.我需要检查那个搁架,所以暂时我可以单独使用TFS,但如果可能的话,我想知道可能发生的事情并尽可能避免它.

谢谢你的帮助.

Phi*_*ppe 4

这个错误消息不是git-tfs之一,而是TFS之一(我刚刚查看了源代码)。

我只是不记得 git-tfs 是如何管理架子集的,因为自从我切换到 git-tfs 后,我再也没有使用过这个功能。主要是因为架子集的设计非常糟糕:(而且我认为你的问题来自于设计问题!

对于搁置集,实际上是一堆文件差异,您永远不知道“生成”的根变更集是什么。因此,如果您稍后尝试取消搁置它,则会遇到一些问题(就像我认为您遇到的问题一样),因为某些文件或文件夹被重命名或删除!

我认为你的问题来自于你尝试使用最近签出的 git 提交来取消搁置。

尝试在搁置日期左右签出提交,然后取消搁置!如果它有效,你应该只需要在你的分支上重新调整你的提交(希望 git 更好地处理重命名,它大多数时候都是这样做的)。

如果不行的话我就不知道了...

互联网无法帮助我们解决此 TFS 错误消息:(

编辑:从那时起,我认为 git-tfs 已经得到了改进,也许它会取消搁置到正确的父提交。

edit2:在调查太多之前,使用--force可以解决一些边缘情况的标志