Из-за того, что взаимодействие в Git и TFS, git-tfs, не идеально (из-за того, что основной характеристикой Git является то, что вы не можете изменить однажды созданный коммит, и что git-tfs не работает с голыми репозиториями), разместить центральный репозиторий Git перед TFS непросто...
Я предполагаю, что вся ваша команда будет использовать этот рабочий процесс, иначе вы могли бы перестать думать об идее сделать это (из-за конфликта слияния вам придется управлять)...
Поскольку git-tfs не работает с пустым репозиторием, вы получите фактически два репозитория git, которые вы должны синхронизировать. Первый, где вы нажимаете (голый), и второй, который взаимодействует с TFS (не голый, где вы используете git-tfs).
Затем у вас есть 2 варианта: а) вы соглашаетесь иметь только одну фиксацию в TFS, даже если у вас есть несколько коммитов git (используйте команду git-tfs 'checkin') б) вы хотите реплицировать каждый коммит git в TFS (используйте коммит git-tfs 'rcheckin')
Первый случай а) не лучше, но его легче решить с помощью некоторых скриптов и git-хуков, потому что всегда есть только новый git-коммит для синхронизации между двумя репозиториями.
Второй случай b) для меня является единственным приемлемым, но его гораздо сложнее решить, потому что при синхронизации репозитория git с помощью команды git-tfs 'rcheckin' для каждого коммита git создается новый, и скрипт синхронизации будет будет намного сложнее написать (я даже не знаю, можно ли разрешить все конфликты слияния). Я начал писать этот скрипт, но остановился, потому что это не стоит усилий (особенно теперь, когда Visual Studio 2012 решает проблему перезагрузки, когда каждый раз перезагружаются файлы решения). Если вы хотите сделать это, сценарии в посте ниже — хороший шаг к тому, с чего начать...
В заключение, я думаю, что не стоит работать, чтобы сделать это. Вы можете найти локальный рабочий процесс с git-tfs, который довольно прост и не требует центрального репозитория git...
Но если вы все еще хотите иметь центральный репозиторий Git, вы можете проверить этот пост ( http://sparethought.wordpress.com/2012/08/23/my-environment-for-day-to-day-work-with-git-tfs/ ) гибридного способа (фиксация в TFS и выборка из git), который, кажется, работает.
person
Philippe
schedule
13.12.2012