Git-Tf Перемещение частей большого проекта Tfs

У меня и моей команды есть большой проект TFS со многими решениями Visual Studio и многими проектами. Мы находимся в процессе разделения этого проекта на более мелкие логические части и перемещения частей в отдельные репозитории git. Я начал смотреть на git-tf, чтобы мы могли вести историю файлов. Что мне нужно сделать, так это выбрать, скажем, 3-4 папки из плоской структуры в tfs-проекте и скопировать их в один репозиторий git. Используя git-tf clone или git-tf configure/pull, я, похоже, получаю по одному репо для каждой родительской папки в проекте tfs. Есть ли способ обойти это, или мне изменить tfs-проект, чтобы папки, которые я хочу, были перемещены в общую родительскую папку?


person Jan Petter Jetmundsen    schedule 14.10.2014    source источник
comment
Вы используете TFS 2013? TFS 2013 имеет встроенную поддержку Git, нет необходимости использовать git-tf.   -  person Daniel Mann    schedule 15.10.2014
comment
Я знаю, и я по-прежнему буду поддерживать свой код с помощью Visual Studio после перехода на git. Но я хочу сохранить историю изменений при перемещении кода в репозиторий git.   -  person Jan Petter Jetmundsen    schedule 15.10.2014
comment
Это не имеет ничего общего с Visual Studio. В TFS 2013 вы можете создать групповой проект, поддерживаемый системой управления версиями Git вместо системы управления версиями Team Foundation. Вы можете использовать git-репозиторий TFS точно так же, как и любой другой git-репозиторий, в том числе добавлять в него существующий репозиторий, сохраняя всю историю изменений.   -  person Daniel Mann    schedule 15.10.2014
comment
Может быть, я слишком усложняю вещи, или, может быть, я плохо объяснил свою проблему. Мне удалось клонировать часть проекта tfs в новый репозиторий git или вытащить его в существующий. Но это отношение один к одному между папкой проекта tfs и репозиторием git. В моем большом проекте tfs у меня есть пятьдесят проектов, четыре из которых я хочу переместить в один репозиторий git. Если я клонирую родительскую папку, я получаю все пятьдесят проектов. Если я клонирую папки одну за другой, я получаю четыре репозитория git. Я могу переместить четыре нужных мне проекта в новую родительскую папку, но я надеялся избежать этого.   -  person Jan Petter Jetmundsen    schedule 16.10.2014


Ответы (1)


Невозможно выборочно извлечь из TFVC в Git, и вы должны выбрать родительскую ветку для определения области действия.

Однако, как только у вас есть папки в git, есть команда «Разделить», которая позволит вам разделить репо на несколько частей. Это позволяет вам выбирать папки.

http://lostechies.com/johnteague/2014/04/04/using-git-subtrees-to-split-a-repository/

person MrHinsh - Martin Hinshelwood    schedule 19.10.2014
comment
Это дало мне ответы, которые мне были нужны. Спасибо! - person Jan Petter Jetmundsen; 20.10.2014