4

C:\>git tf clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main OldTFS --deep

这只会让我得到主要的分支历史。那是git tf

C:\>git tfs clone https://companyname.visualstudio.com/DefaultCollection $/companyname/Main --with-branches

在其中一个合并变更集中获取几个分支后,这失败了Please report this case to the git-tfs developpers! (report here : https://github.com/git-tfs/git-tfs/issues/461 )git branch给我这个

Release/20120719.1
Sprint/Sprint044
Sprint/Sprint045
Sprint/Sprint047
Sprint/Sprint048
Sprint/Sprint049
Sprint/Sprint050
*master

我已经分支到 Sprint085 和相当多的发布分支。那是git tfs

有什么办法可以git tf让我获取一些其他正确创建合并提交的分支,以便我可以正确查看历史记录?

4

1 回答 1

4

Disclamer:我是为 git-tfs 添加分支支持的人......

忘记git tf它不支持分支。

在其中一个合并变更集中获取几个分支后,这失败了,说我应该通知他们详细信息,以便他们改进。

也许您应该按照git-tfs;)给出的链接进行操作

链接是这个。在那里的消息中,您被告知正在进行的工作以获得更好的分支支持。

你真的应该试试。它的状态非常好,并且允许支持 2 种其他分支模式:分支重命名和无基础合并。有了这最后两种模式,我希望我们可以支持所有的分支模式(但是因为 TFS 非常令人惊讶——在坏的意义上——而且非常混乱,我不能保证!)

如果您不能支持所有分支,它将仍然是手动方式!但是很长:

  • 仅克隆另一个存储库中的分支
  • 在您的主存储库中获取此分支
  • 使用嫁接将您的分支链接到其父分支(您应该在 TFS 中手动找到它。祝您好运,因为 TFS 在这方面非常糟糕!)
  • [可选] 用于git filter-branch使链接永久化。

PS:也许你甚至可以编写一个小脚本来自动化所有这些......

于 2014-03-12T09:39:01.267 回答