Ми завантажуємо нову команду дуже невеликого розміру (скажімо 2-5), моє питання: який тип керування версіями найкраще працює для таких команд, централізований або розподілений.
Ми завантажуємо нову команду дуже невеликого розміру (скажімо 2-5), моє питання: який тип керування версіями найкраще працює для таких команд, централізований або розподілений.
Відповіді:
Розподілений по всьому шляху, насправді немає сенсу централізованому IMHO, особливо якщо ви говорите про розвиток команди.
Ще один голос за Mercurial, без клопотів із налаштуваннями під Windows та bitbucket.org є безкоштовні сховища (які можуть бути приватними) з необмеженим простором.
Якщо ви плануєте працювати над проектом з відкритим кодом, git та Github здаються більш адекватними / популярними. Однак якщо ви ще не задумалися про DVCS, рекомендую почати з Mercurial і цього дивовижного посібника .
той, який ви всі будете використовувати постійно
[особисто мені подобається Mercurial]
Напевно, найкраща відповідь - «що б тобі було комфортно». Навіть працюючи над особистими речами, я використовую Git. Здається, зробити досить хорошу роботу з масштабування і вгору, і вниз, і мій обмежений досвід роботи з Mercurial приблизно однаковий.
Я думаю, вам слід вибрати все, що вам подобається. У невеликій команді у вас не буде різних дерев коду (як-от Linux-ядро), тому центральне сховище все в порядку. Але ви можете мати цю настройку також з розподіленим VCS. Тож я б пішов із популярністю та особистим досвідом. Популярними є SVN, git та Mercurial. Ви повинні вирішити, який з них найкраще використовувати у вашій команді (досвід, підтримка інструментів у вибраному IDE тощо).
Це дійсно залежить від того, чи збираєтеся ви розробники багато коду в режимі офлайн чи ні, а лише вибирати між розподіленим чи централізованим сховищем, оскільки це перше, що вам слід вирішити. Тоді, якщо ви вирішите, що централізований підхід працює краще, ніж SVN - все, що вам потрібно. З іншого боку, якщо ви використовуєте розподілений підхід, ніж для git, навіть у Windows це досить добре, оскільки зараз у вас є черепаха git (той самий інтерфейс, який існує і для svn). Крім того, не розраховуйте на підтримку IDE, тому що ви можете отримати неприємний сюрприз, якщо ви коли-небудь використовуватимете це, і ви можете виявити, що файли, які не повинні здійснюватись, дійсно вчиняються від вашого імені IDE.
Запитайте свою команду, чи хтось хоче про це подбати. Набагато краще мати стабільну систему та відповідальну людину, ніж хорошу систему, коли про неї ніхто не піклується, і ніхто не в змозі відновити її з резервного копіювання.
Якщо є така людина - він уже буде знати, чим користуватися, тому просто прийміть його рішення. Якщо ні - отримайте якесь прийняте рішення. Було б дуже нерозумно спробувати GIT (один з найкращих), якби всі розробники ніколи не торкалися Shell / Linux.
Це також залежить від кількості "нетехнічних" людей, яким потрібно читати / сприяти. Просто переконайтесь, що вони могли ним користуватися, і є інструменти.
SVN широко підтримується в інструментах. Інструментарій є ключовим; різні люди матимуть різні набори навичок. Деякі віддадуть перевагу командному рядку, деякі віддадуть перевагу інструментам на основі IDE, деякі віддадуть перевагу графічним інструментам. На даний момент SVN є найбільш широко підтримуваним інструментом.
Крім того Mercurial або Git.
Я думаю, що в малих компаніях є аргументи щодо централізації певних речей. (Поміркуйте, наприклад, про резервне копіювання в інших місцях. Коли у вас є лише 2 людини, які працюють над проектом, і вони живуть в одній будівлі, і там стається пожежа, децентралізованої до всіх двох комп’ютерів може бути недостатньо.)
Однак наявність частково централізованого рішення не обмежує вас централізованою системою. Ви можете просто натиснути на зовнішній сервер чимось на зразок git або mercurial.