Вся розподілена річ Git насправді чудова. Це дає декілька можливостей, у яких Shelvesets не має (у поточному продукті), таких як локальний відкат та параметри фіксації (наприклад , локальна історія Eclipse ). Ви можете полегшити це за допомогою гілок розробників, але, якщо чесно, багато розробників не люблять розгалуження та об'єднання одного біта. Мене попросили ввімкнути функцію "ексклюзивного оформлення замовлення" в TFS кілька разів занадто часто (і відмовляти її щоразу).
Я думаю, що багато великих підприємств досить бояться, щоб дозволити розробнику просто перенести всю історію в локальну робочу область і взяти її з собою (наприклад, новому роботодавцю) ... Красти знімок - це погано, але забирати всю історію ще більш клопітно. (Не те, щоб ти не зміг отримати повну історію з TFS, про який ти хотів) ...
Зазначається, що це чудовий спосіб резервного копіювання, який чудово підходить для відкритого коду знову, коли оригінальний сервіс може перестати піклуватися і видаляє його версію, але для плану підприємства це знову не вистачає для багатьох підприємств, оскільки чіткого розподілу відповідальності немає. зберегти резервні копії. І важко було б розібратися, яку версію використовувати, якщо головний «проект» якось зникає. Яке схильне призначити одне сховище як провідне / центральне.
Що найбільше мені подобається в Git, це варіант Push / Pull, де ви можете легко вносити код до проекту без необхідності мати права на комісію. Я думаю, що ви можете використовувати дуже обмежених користувачів та полиці в TFS, щоб імітувати це, але це не так потужно, як варіант Git. Розгалуження командних проектів також може працювати, але з адміністративної точки зору це не реально для багатьох організацій, оскільки додавання командних проектів додає багато адміністративних витрат.
Я також хотів би додати до речей, згаданих у зоні контролю не джерела. Такі функції, як відстеження робочих елементів, автоматизація звітів та автоматизація збірок (включаючи управління лабораторією), значною мірою користуються центральним провідним сховищем. Вони стають набагато складніше, коли ви використовуєте чисту розподілену модель, якщо ви не зробите один із вузлів, що ведуть (і таким чином повернетесь до менш розподіленої моделі).
Якщо TFS Basic поставляється з TFS 11, можливо, не заздалегідь очікувати розподіленого TFS, який дозволяє синхронізувати локальний базовий TFS з центральним TFS в епоху TFS 12+. Я покладу свій голос за це у фаховому рахунку !