контроль версій для невеликої команди [закрито]


13

Ми завантажуємо нову команду дуже невеликого розміру (скажімо 2-5), моє питання: який тип керування версіями найкраще працює для таких команд, централізований або розподілений.


Спробуйте SVN tortoisesvn.tigris.org Це найкраще для вас 4.
Vijesh V.Nair

Що ви хочете написати та яку платформу?

Відповіді:


30

Розподілений по всьому шляху, насправді немає сенсу централізованому IMHO, особливо якщо ви говорите про розвиток команди.

Ще один голос за Mercurial, без клопотів із налаштуваннями під Windows та bitbucket.org є безкоштовні сховища (які можуть бути приватними) з необмеженим простором.

Якщо ви плануєте працювати над проектом з відкритим кодом, git та Github здаються більш адекватними / популярними. Однак якщо ви ще не задумалися про DVCS, рекомендую почати з Mercurial і цього дивовижного посібника .


1
+1 за цей дивовижний путівник Джоела Спольського. Чудові речі. Крім того, навіть якщо ви зараз зовсім маленькі, як каже @dukeofgaming, немає сенсу починати централізовуватися вже. Навіть якщо ви плануєте лише трохи вперед.
Марк Фрідман

Для проектів, що дбають про свободу програмного забезпечення, gitorious, ймовірно, краще, ніж github.
Ларс Вірзеній

@Lars: Що ви маєте на увазі під "свободою програмного забезпечення"?
Річард Єв

5
Навіть як самотній розробник Mercurial має ідеальний сенс.
Олівер Вайлер

амін @Helper метод, саме так я почав його використовувати
dukeofgaming


4

Напевно, найкраща відповідь - «що б тобі було комфортно». Навіть працюючи над особистими речами, я використовую Git. Здається, зробити досить хорошу роботу з масштабування і вгору, і вниз, і мій обмежений досвід роботи з Mercurial приблизно однаковий.


З мого обмеженого досвіду роботи з Git - якщо ви перебуваєте на платформі Windows, інструменти Git ще не готові до прайм-тайму. Дотримуйтесь Меркуріал (або Піч). На інших платформах Git, мабуть, добре.
Марк Фрідман

1
Msysgit прекрасно працює, якщо ви знайомі з підказкою Shell.

@Зазначте, що ви, безумовно, правильні, якщо люди не хочуть командного рядка. Однак командний рядок Git (із оболонкою, як вказує Thorbjorn) - це добре. Я програмую лише в Windows і використовую Git для проектів VS. Достеменно нічого не підходить TortoiseSVN та AnkhSVN для Git.
МВС

1

Я думаю, вам слід вибрати все, що вам подобається. У невеликій команді у вас не буде різних дерев коду (як-от Linux-ядро), тому центральне сховище все в порядку. Але ви можете мати цю настройку також з розподіленим VCS. Тож я б пішов із популярністю та особистим досвідом. Популярними є SVN, git та Mercurial. Ви повинні вирішити, який з них найкраще використовувати у вашій команді (досвід, підтримка інструментів у вибраному IDE тощо).


1

Це дійсно залежить від того, чи збираєтеся ви розробники багато коду в режимі офлайн чи ні, а лише вибирати між розподіленим чи централізованим сховищем, оскільки це перше, що вам слід вирішити. Тоді, якщо ви вирішите, що централізований підхід працює краще, ніж SVN - все, що вам потрібно. З іншого боку, якщо ви використовуєте розподілений підхід, ніж для git, навіть у Windows це досить добре, оскільки зараз у вас є черепаха git (той самий інтерфейс, який існує і для svn). Крім того, не розраховуйте на підтримку IDE, тому що ви можете отримати неприємний сюрприз, якщо ви коли-небудь використовуватимете це, і ви можете виявити, що файли, які не повинні здійснюватись, дійсно вчиняються від вашого імені IDE.


1

Запитайте свою команду, чи хтось хоче про це подбати. Набагато краще мати стабільну систему та відповідальну людину, ніж хорошу систему, коли про неї ніхто не піклується, і ніхто не в змозі відновити її з резервного копіювання.

Якщо є така людина - він уже буде знати, чим користуватися, тому просто прийміть його рішення. Якщо ні - отримайте якесь прийняте рішення. Було б дуже нерозумно спробувати GIT (один з найкращих), якби всі розробники ніколи не торкалися Shell / Linux.

Це також залежить від кількості "нетехнічних" людей, яким потрібно читати / сприяти. Просто переконайтесь, що вони могли ним користуватися, і є інструменти.


1

SVN широко підтримується в інструментах. Інструментарій є ключовим; різні люди матимуть різні набори навичок. Деякі віддадуть перевагу командному рядку, деякі віддадуть перевагу інструментам на основі IDE, деякі віддадуть перевагу графічним інструментам. На даний момент SVN є найбільш широко підтримуваним інструментом.

Крім того Mercurial або Git.


0

Я думаю, що в малих компаніях є аргументи щодо централізації певних речей. (Поміркуйте, наприклад, про резервне копіювання в інших місцях. Коли у вас є лише 2 людини, які працюють над проектом, і вони живуть в одній будівлі, і там стається пожежа, децентралізованої до всіх двох комп’ютерів може бути недостатньо.)

Однак наявність частково централізованого рішення не обмежує вас централізованою системою. Ви можете просто натиснути на зовнішній сервер чимось на зразок git або mercurial.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.