У меня и моей команды есть большой проект TFS со многими решениями Visual Studio и многими проектами. Мы находимся в процессе разделения этого проекта на более мелкие логические части и перемещения частей в отдельные репозитории git. Я начал смотреть на git-tf, чтобы мы могли вести историю файлов. Что мне нужно сделать, так это выбрать, скажем, 3-4 папки из плоской структуры в tfs-проекте и скопировать их в один репозиторий git. Используя git-tf clone или git-tf configure/pull, я, похоже, получаю по одному репо для каждой родительской папки в проекте tfs. Есть ли способ обойти это, или мне изменить tfs-проект, чтобы папки, которые я хочу, были перемещены в общую родительскую папку?
Git-Tf Перемещение частей большого проекта Tfs
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
Это дало мне ответы, которые мне были нужны. Спасибо!
- person Jan Petter Jetmundsen; 20.10.2014