Ответ 1
Отказ от ответственности: я запустил проект git-tf
и хотя проект сейчас находится в очень способных руках без меня, как частого участника, вы должны абсолютно считать мое мнение по этому поводу сильно предвзятым. (И, если вы находитесь на Windows, возможно, неожиданно.)
Есть два фундаментальных различия между этими двумя инструментами:
-
git-tfs
был создан для пользователей Windows и написан поверх .NET TFS SDK. TFS SDK не будет работать под Mono, поэтомуgit-tfs
подходит для кроссплатформенного использования. -
git-tf
был создан для кроссплатформенных пользователей и написан поверх Java TFS SDK. Таким образом, он будет работать в любом месте, которое поддерживается Java TFS SDK (Windows, Mac, Linux, AIX, HP-UX, Solaris и т.д.).git-tf
был явно создан, чтобы позволить пользователям Xcode доступ к TFS.
На Windows, конечно, вы можете использовать либо. Я не собираюсь обязательно говорить, что одно лучше, чем другое. Но я скажу:
-
Моя самая большая жалоба на
git-tfs
- это то, что она не будет работать на Mac OS. Если бы был способ сделатьgit-tfs
кроссплатформенным, тоgit-tf
почти наверняка не существовало бы. -
git-tfs
в некоторых случаях работает быстрее, чемgit-tf
. Производительность не была нашим приоритетом в первых нескольких ревизиях, правильность была. -
Поскольку
git-tf
имеет широкую матрицу поддержки платформы, это означает, что его функциональность обязательно ограничена. Например, нет пользовательского интерфейса.git-tfs
, с другой стороны, есть командаcheckintool
, которая откроет обычный диалог TFS Checkin. Это может быть исключительно полезно для визуализации ваших изменений. (Если я не забуду, вы можете открыть соответствующий визуальный отчет и т.д.) -
git-tf
работает путем непосредственного заполнения хранилища git и загрузки объектов TFS непосредственно в базу данных объектов git.git-tfs
работает, создавая отображение рабочей папки TFS в скрытой папке, затем заполняя из этого репозиторий git. Здесь есть штраф за диск, так что если у вас супергигромные репозитории, вы можете почувствовать это. -
git-tfs
может попытаться отобразить ваши ветки TFS на ваши ветки git. Многие людиgit-tfs
это как позитив дляgit-tfs
, хотя я не думаю: модель ветвления git (на уровне хранилища) и модель ветвления TFS (представленная в виде папок в хранилище) настолько радикально отличаются, что могут вызвать проблемы. во всем, кроме самых упрощенных рабочих процессов. Но ваш пробег может отличаться. -
git-tfs
активно развивается сообществом.git-tf
не было принятия сообщества.
Я не хочу, чтобы это звучало так, будто я говорю, что git-tf
- это плохо. Не это. Я думаю, что это на самом деле довольно хорошо. Но это не может быть вашим лучшим выбором.
Обновление: git-tf
достиг конца срока службы. Он больше не поддерживается и не поддерживается Microsoft. Мы рекомендуем git-tfs
если вы хотите двунаправленное решение TFS <-> git.