【发布时间】:2013-12-24 08:21:24
【问题描述】:
我用谷歌搜索了这个网站,但没有发现任何真正有用的东西让我对它的迁移方法充满信心。
目前该公司正在使用 TFS,当我到达这里时,我计划将我们转移到 Git 或类似的,因此我致力于将我们所有的项目分组到一个分支中,因为它们分散在各处。现在我们有了这样的设置。
Root
---|Releases
-------|Dev
-------|Test
-------|Main
---|Features
-------|Feature1
-------|Feature2
Main 是我们的生产分支,是最精致和最干净的工作代码,当然 test 和 dev 不太精致。不过,它们都包含相同的一组应用程序文件夹。
features 文件夹包含用于功能开发的分支,因此它们基本上是从 Dev 修改的分支,然后我们在完成后将它们合并回 dev。
我想知道将源代码控制迁移到 Git 或 Mecurial 的最佳方法是什么。
我正在考虑将 Main 复制到 master 原点,然后从中创建一个分支并将 test 复制到该文件夹中,然后再将 test 分支到 dev 分支并做同样的事情。然后不理会功能分支并丢失其中的任何内容,或者让开发人员创建自己的分支来合并它们。
有没有更好的方法可以在一定程度上帮助保留历史?如果没有,上面描述的方法看起来是否可行?我担心的是,当我将 Main 分支然后将文件从 Test 复制到测试分支中的文件时,它将失去其关系或无法有效地确定更改。有什么想法吗?
我找到了这个,但我不确定如何使用它来获取我现有的 TFS 设置并使用我上面提到的设置将其移动到 git 存储库中。
【问题讨论】:
-
您的布局似乎类似于分支的空间分区,而不是时间分区。这是否意味着有一个发布分支,其中 dev、test 和 main 分支远离?还是仅仅意味着您将这 3 个分支归为“发布”保护伞下?