Застереження: Я розпочав git-tfпроект, і хоча проект зараз перебуває у дуже спроможних руках без мене, як того, хто часто дописується, ви повинні абсолютно вважати мою думку щодо цього суворо необ'єктивною. (І, припускаючи, що ви працюєте в Windows, можливо, несподівано.)
Існують дві основні відмінності між двома інструментами:
git-tfsбув створений для користувачів Windows і написаний поверх SDK .NET TFS. 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досягло кінця життя . Він більше не підтримується та не підтримується корпорацією Майкрософт. Ми рекомендуємо, git-tfsякщо ви хочете двонаправлене рішення TFS <-> git.