2017-05-30 71 views
2

我想从TFS到Git的主分支中移植一个解决方案。我尝试过使用Git-Tfs来移植解决方案并维护分支关系,但是如果没有工具错误,我可以做的最好的办法是获取整个包含文件夹的副本,并为每个分支使用不同的子文件夹 - 分支关系不保持。该文件夹结构看起来像这样...子文件夹包含相应的解决方案文件和内容:Git:如何重新附加一个分支到它的主干?

MyProject 
    --Main 
    --Features 
    --FeatureBranch1 
    --FeatureBranch2 

此外,承诺似乎在MyProject级别只跟踪,没什么的子文件夹级别。我知道每个分支发生的变更集编号,但我不确定如何使用该信息,如果它甚至适用。

我需要与主重新关联每个分支的,但不能弄清楚如何(我是一个Git新手)。我不关心历史 - 我只需要能够在某个时候将分支合并回主干。我需要做什么?

回答

3

如果你不能得到的工具工作(我不是那熟悉的TFS,所以我不能给任何可用的工具,不好意思说),你可以做手工,不保存历史。我从事过从Subversion到Git的类似工作,它有类似的处理分支作为子目录的问题。

  1. 出口你的主人相当于分支(主要我承担?)
  2. git init,添加所有,提交
  3. git checkout -b <branchname>第一个新分支
  4. 删除所有的工作拷贝文件,但.git目录
  5. 从TFS导出等效分支并将文件复制到您的工作副本中
  6. git add --all - 这将识别更改,添加和删除
  7. 提交
  8. 退房主从第3步下一个分支再次
  9. 重复,直到所有分支完成
  10. git push --all所有分支推送到上游

这将维护分支的祖先,而不是改变历史。这很容易为SVN编写脚本,大概也很容易为TFS编写脚本。

+0

热宕,这似乎已经奏效。非常感谢! – ket

相关问题