В чем разница между git-tf и git-tfs?
Я недавно был действительно сыт по горло TFS. Я слышал, что в конце туннеля есть свет. По-видимому, я могу использовать либо git-tf, либо git-tfs и обрабатывать мой код так, как если бы он управлялся git, но я могу передавать / извлекать данные с центрального сервера TFS.
Мой главный вопрос - я не уверен, какой из них мне следует использовать. Существует git-tf, который официально поддерживается Microsoft, и есть git-tfs, который существует намного дольше. В чем различия между ними и что я должен попробовать в первую очередь?
3 ответа
Отказ от ответственности: я начал 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. Это может быть исключительно полезно для визуализации ваших изменений. (Если я не забуду, вы можете открыть соответствующий визуальный анализ и т. Д.)git-tf
работает, заполняя git-репозиторий напрямую, загружая объекты TFS непосредственно в базу данных git-объектов.git-tfs
работает, создавая отображение рабочей папки TFS в скрытой папке, затем заполняя из этого репозиторий git. Здесь есть штраф за диск, так что если у вас супергигромные репозитории, вы можете почувствовать это.git-tfs
может попытаться сопоставить ваши ветки TFS с вашими ветками git. Многие люди увидят в этом позитивgit-tfs
Хотя я не знаю: модель ветвления в git (на уровне хранилища) и модель ветвления в TFS (представленная в виде папок в хранилище) настолько радикально отличаются, что вызывают проблемы во всем, кроме самых упрощенных рабочих процессов. Но ваш пробег может отличаться.git-tfs
активно развивается сообществом.git-tf
не было принятия сообщества.
Я не хочу, чтобы это звучало так, как будто я говорю git-tf
плохо. Это не. Я думаю, что это на самом деле очень хорошо. Но это не может быть вашим лучшим выбором.
Обновить: git-tf
достиг конца жизни. Он больше не поддерживается и не поддерживается Microsoft. Мы рекомендуем git-tfs
если вы хотите двунаправленное решение TFS <-> git.
Отказ от ответственности: я разработчик проекта git-tfs
Редактировать: git-tf больше не поддерживается...
И теперь есть очень хорошая поддержка ветвления TFS в git-tfs (извлечение существующих веток, создание веток, объединение ветвей легче, чем с TFS,... использование branch
команда).
Увидеть:
- Управление ветками с помощью git-tfs
- документация по ветке git-tfs
- Еще один ответ на stackru по теме
git-tfs также, пожалуй, единственный инструмент, который позволяет вам переходить с TFS(VC) на TFS(Git), управлять рабочими элементами при необходимости или обычным git-репозиторием.
И некоторые другие хорошие функции...
(И это более активно и более поддерживается)
Для всех, кто нашел эту тему:
Git-TF
был официально прекращен после того, как не обновлялся после 2013 года, и теперь явно предлагает Git-TFS
как альтернатива.
Git-TF End-of-Life
Git-TF достиг конца своей жизни. Он больше не будет обновляться и больше не будет поддерживаться Microsoft.
Microsoft Visual Studio Team Services теперь предоставляет простой инструмент импорта для импорта репозитория Team Foundation Version Control в Git-репозиторий. Мы рекомендуем использовать это для преобразования репозиториев TFVC в Git.
Если вам требуется более сложное преобразование или вы хотите соединить репозиторий TFVC и работать с локальным репозиторием Git, мы рекомендуем проект git-tfs.
Git-TF не следует использовать для новых проектов, но он останется в архиве Codeplex для старых пользователей.
(Раздел добавлен на страницу кодекса проекта в апреле 2017 года Эдвардом Томсоном, его инициатором и автором принятого ответа)
Git-TFS
похоже, активно поддерживается: https://github.com/git-tfs/git-tfs/commits/master