我想出来的git-TFS,我试图通过运行以下,以取消搁置搁置:
git tfs unshelve "Shelveset Name" shelf
我收到以下错误:
A shelved pending change on a file is required: $/path/to/dir/deleted
“删除”是在搁置删除一个目录。
我才刚刚开始使用git-TFS。我需要签入的是搁置,所以暂时我可以TFS独自做到这一点,但如果可能的话,我想知道什么可能什么,如果可能避免。
谢谢你的帮助。
此错误消息是不混帐TFS之一,但TFS之一(我只是看着源代码)。
我只是不记得TFS混帐究竟是如何管理搁置,因为自从我改用混帐TFS我不再使用此功能。这主要是由于这样的事实:搁置集是非常糟糕的设计:(我认为,从设计问题出现在你的问题!
随着搁置,这实际上是一堆关文件差异比较,你永远不知道什么是它被“产生”的根变更。所以,如果你尝试相当以后取消搁置它,你有一些问题(像我想你),因为一些文件或文件夹进行重命名或删除!
我认为,从我们试图用checkouted git的承诺的方式太新,取消搁置的事实出现在你的问题。
尝试检出在搁置日期大约提交,然后取消搁置!如果一切正常,你应该只需要衍合犯在你的分支(希望混帐更好地处理重命名,它承担了大部分的时间)。
如果它不工作,我不知道...
而互联网不帮助我们解决这个TFS错误消息:(
编辑:自那以后,我认为的git-TFS已得到改进,也许它取消搁置到正确的父提交。
EDIT2:研究太多之前,使用--force
标志,可以解决一些边缘情况
现在,您可以强制的git-TFS忽略这些错误
https://github.com/git-tfs/git-tfs/blob/master/doc/commands/unshelve.md
--force Get as much of the Shelveset as possible, and log any other errors
看来,TFS踩试图取消搁置包含已删除的文件搁置集。我做了以下和它的工作:
git-tfs
到搁置拉入本地的Git分支一种痛苦,我知道,但它至少帮助我挽救搁置。对于背景下,这是从TFS到Git的迁移,使我们能够保留历史记录,并拉入搁置集远程分支机构,因此开发人员并不需要TFS浑不完全签入期间。