2015-07-17 1 views
0

Мне нужно объединить изменения из ветви репозитория удаленного tfs в ветку репозитория git.Как объединить удаленную ветвь tfs в ветку git?

Клонирование создаст совершенно новый репозиторий git, который я не хочу. Я хочу объединиться в существующий репозиторий git.

Разъяснение:

  • Пару недель назад, коллега клонировали 2 TFS репозиториев: RepoA, RepoB
  • что коллега покинул компанию.
  • Мы решили, что единое хранилище, так что я слился RepoA в RepoB, как описано здесь: Merge two Git repositories without breaking file history
  • С тех пор, все команды разработчиков используют RepoB, за исключением одного.
  • Одна команда продолжала разрабатывать и передавать в репозиторий TFS.
  • Теперь мы хотим, чтобы эта финальная команда начала использовать Git; мы должны объединить свою работу с исходным клоном (ТФС-RepoA) в хранилище Git (RepoB)
+1

Ваш вопрос не достаточно ясно, и трудно читать между линией :-(Не могли бы вы объяснить, что вы сделали прибыл сюда и более четко, что вы хотите и почему. Я объяснил все, что могу, в документации [git-tfs о филиалах] (https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/manage_tfs_branches.md # merge-2-branches-and-checkin-this-merge-in-tfs) – Philippe

+1

Вы должны иметь возможность добавить удаленный TFS к репо B и использовать 'git tfs fetch' для извлечения изменений там. Если исходные коммиты TFS repo B не были изменены в вашем слиянии, и если удаленный TFS имеет то же имя, тогда git-tfs должен забрать, откуда он остановлен, поэтому он должен только получать новые изменения. Впоследствии вы можете снова объединить ветвь. – poke

+0

@poke Как добавить удаленный TFS в RepoB? – Vyskol

ответ

1

Мы решили, что единое хранилище, так что я слился RepoA в RepoB, как описано здесь: Слияние двух Git репозиториев, не нарушая хронологию файлов

Я не очень хорошо понимаю, что вы сделали здесь, но я буду считать, что эта операция не была слишком разрушительными;)

Я также предполагаю (если хорошо понимаю), что команда, которая все еще использует TFVC, совершает в ветви, которая была клонирована в RepoA.

Первое, что вам нужно сделать, это убедиться, что у вас все еще есть метаданные git-tfs, необходимые git-tfs в записях, начиная с RepoA. Они должны выглядеть так: git-tfs-id: [https://yourtfs/tfs/TFS16]$/vtccds/trunk;C26497

С тех пор как вы обнаружили эти коммиты, затем проверьте ветку на последней, полученной из TFS.

Если у вас есть версия git-tfs выше, чем v0.20 (при необходимости обновите), вам просто нужно сделать git tfs fetch. Если у вас есть старая версия, перед выполнением выборки требуется git tfs bootstrap ...

Если все работает хорошо, через долгое время вы должны иметь все коммиты, соответствующие наборам изменений команды, выполняющей TFS.

Затем, вы можете делать то, что вы хотите с ним и объединить ветку ...