3

我的公司目前主要使用 TFS 作为我们的源代码控制服务器。我们为此做所有的团队合作。但是,我们还希望在组织内以开源格式轻松发布我们的项目,因此我们建立了一个带有 Git 服务器的本地 Github。

我使用 Visual Studio 2012 的 Git 插件将我的一个项目推送到此服务器。然而,这被证明是成功的,需要我将绑定到 TFS 的现有解决方案复制到另一个目录,以便“丢失”TFS 绑定。如果我的团队对 TFS 解决方案进行任何更改,我将需要手动将它们重新应用于 Git 绑定解决方案。

是否可以在同一解决方案的源代码控制之间切换?

目前,完全切换到 Git 不是一种选择。TFS 目前对我们来说更加可靠,并且得到了公司的支持。

4

1 回答 1

2

Git-tf是要走的路(正如@DaveShaw 评论的那样)。这应该工作:

首先,使用 git-tf 克隆您的 TFS 存储库。--shallow如果您的 tfs 历史很长并且您只想快速克隆,您可能想要使用,但您不会拥有整个历史,只有最后一次提交(就像第一次提交一样)。

git tf clone --shallow http://myserver:8080/tfs/mycollection $/TeamProjectA/Main

将您的 GitHub 存储库添加为远程

git remote add github  https://github.com/<user>/<repo>.git

那么最简单的事情就是用新的 tfs 历史删除当前的 github 历史

git push github master --force

然后,每当您想更新您的 github 存储库时,请按照以下步骤操作(--deep将使每个后续 tfs 提交一个 git commit,与此相反--shallow

git tf pull --deep
git push github master
于 2013-08-13T16:10:31.937 回答