Возможно ли в git-tfs добавить ветку/проект tfs в качестве дополнительного удаленного?

Мне приходится работать с испорченным репозиторием TFS. Под испорченным я подразумеваю следующее:

--|- Dev branch ---------|------
  |                      |
 previous branching    new branching
 to release            to release
  |                      |
  |                      |
   -- Release branch --* --------
                       |
                 branch deletion                       

Как видите, политика ветвления немного сомнительна...

Итак, моя ветка TFS была создана из ветки Dev где-то между предыдущей веткой и новой с помощью быстрого клонированиябыстро из-за других испорченных ветвей). Теперь мне нужно синхронизировать свои изменения между этими двумя ветвями (Разработка и Выпуск), и, очевидно, я не могу ветвить --init в Освободить ветку.

(Попытка снова клонировать весь репозиторий с ветками не удалась из-за странностей управления репозиторием TFS)

На данный момент мне известны два варианта:

  1. Прибегать к TFS для слияния
  2. Клонируйте дополнительный репозиторий git из ветки Release и добавьте этот репозиторий в качестве удаленного в мой репозиторий после Dev. Это приведет к продолжению работы с GIT, но я не уверен, что это стоит усилий из-за дополнительных затрат на синхронизацию нового репозитория отдельно.

Еще одна возможность, о которой я могу подумать, — это добавление ветки Dev в качестве дополнительного удаленного непосредственно в мой текущий репозиторий. Однако я не нашел способа сделать это.

Мой вопрос в том, возможно ли вышеизложенное, и, если это не так, есть ли другие разумные альтернативы?


person galenus    schedule 07.05.2015    source источник


Ответы (1)


Я думаю, что случай № 2 будет работать. Быстро клонируйте ветку dev в новый репозиторий, а затем добавьте этот репозиторий в качестве удаленного как раз на время, чтобы получить набор изменений (после этого вы можете удалить репозиторий). Тогда вы могли бы получить и rcheckin отсюда.

Ps: какую версию используете? Последнее будет лучше. Если вы сделали 2 «быстрых клонирования» для каждой из веток, в файле конфигурации есть возможность изменить, чтобы лучше управлять ветками (я попытаюсь найти его имя, потому что я не помню и не задокументировал его :-( )

Ps2: если вы не получили набор изменений слияния, git не сильно вам поможет во время слияния...

Ps3: существуют некоторые ограничения на слияние с git-tfs: https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/manage_tfs_branches.md#merge-2-branchs-and-checkin-this-merge-in-tfs

Надеюсь, это поможет...

person Philippe    schedule 07.05.2015
comment
Попробовал, получил StackOverflowException на fetch, когда пытался получить ветку Dev как связанную. Похоже, я вернулся к TFS... Однако спасибо за предложение. - person galenus; 10.05.2015