如何使用git-tfs和习惯git分支对TFS存储库?

如何使用git-tfs惯用?

> git成语是检查到存储库根目录的分支。检出分支将用该分支的内容替换目录的内容。
> TFS成语是检查存储库根目录下的不同目录(甚至是主干或中继分支)中的每个分支。检出分支将把它放在当前分支旁边的一个新目录中。

使用git-tfs,我可以克隆一个TFS存储库或分支到一个git存储库。我想在一个TFS存储库与多个分支工作在一个方式与git分支习语一致。但我不知道什么是技术上可能或建议:)

克隆整个TFS存储库

如果我从TFS克隆整个存储库

> git tfs clone http://<tfsurl>:8080 $/main

这将给我一个git主机包含所有的TFS分支作为目录。

[master]> dir
  trunk
  feature-logon
  feature-search
  release-0.0.1

为每个TFS分支添加一个远程

我不知道我是否可以(或如何)映射一个git远程到每个TFS分支。

> git init .
[master]> git tfs clone http://<url> $/main/trunk .

然后

[master]> git checkout -b feature-logon
[feature-logon]> git tfs clone http://<url> $/main/feature-logon .

我知道这在技术上是不正确的,但我不知道任何更好没有玩(我唯一的TFS回购是非常大,实验是花费很长时间)

最佳答案
现在可以得到TFS分支是正确的Git分支如果克隆使用git-tfs.这是现在在稳定版本!您首先克隆的不是整个存储库,而是trunk:

git tfs clone http://<tfsurl>:8080 $/main/trunk

然后运行branch –init,它在Git存储库中创建一个新的分支

git tfs branch --init $/MyProject/MyTFSBranch

在你的情况:

git tfs branch --init $/main/feature-logon

或者使用新克隆存储库上的–all标志来创建TFS服务器上存在的所有分支。

git tfs branch --init --all

您也可以使用标志–with-branches直接克隆所有分支:

git tfs clone http://<tfsurl>:8080 $/main/trunk --with-branches

这个新命令的文档是here.随意提供反馈,以改善它…

转载注明原文:如何使用git-tfs和习惯git分支对TFS存储库? - 代码日志