Використовувати якийсь контроль версій під час роботи самостійно та з невеликими проектами?


30

Дуже часто я працюю над невеликими проектами лише для себе. Я працюю над однією машиною, але останнім часом я подумав про те, щоб все-таки використовувати якийсь контроль версій. Це може мати певні переваги, наприклад:

  • Мені більше не потрібно піклуватися про місцеве резервне копіювання
  • Помилки легко скасувати
  • Історію можна підтримувати

Але з іншого боку, є і деякі недоліки, як, наприклад:

  • Необхідні додаткові ресурси
  • Час налаштування, звикнути тощо.

З вашого досвіду, чи корисно використовувати контроль редагування, коли ви працюєте наодинці?


Мої два центи: я використовую Mercurial і NetBeans, і найцінніша частина VCS, яку я використовую (Mercurial), здатна вносити зміни, переглядати зміни та очищати їх (виконувати) (файли за один раз або весь проект) у моє дозвілля. (У NetBeans є графічний розбіг, який працює з Mercurial) Це допомагає мені впоратися з тим, що я щойно робив. У нашої компанії є інша система історії та резервного копіювання, тому я зазвичай не використовую її для цієї мети.
Брайан Філд

Відповіді:


46

Так.

Все, що потрібно, - це одна помилка, і ви будете виганяти себе за це. Ви також можете вибрати, яку систему управління версіями (VCS) використовувати. Якщо є ймовірність, що ви в майбутньому будете працювати в команді розробників, це чудовий час, щоб ви отримали практичний досвід роботи з VCS. SVN та Git (або Mercurial) були б чудовими вихідними пунктами і потрібно лише пару годин, щоб зрозуміти основні команди у кожному VCS.

Тепер розвінчати, які негативні моменти ...

1) Необхідні додаткові ресурси

Тільки ресурс потрібно дисковий простір. Оскільки це невеликий відсоток (менший у Git, ніж X ) від загального коду, я не думаю, що це буде проблемою. Це також не коштує грошей.

2) Час налаштування, звикнути тощо.

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


5
+1: Дуже хороші бали. Однак я б не рекомендував svn: він не дозволяє часом вносити зміни, коли не підключений до Інтернету, що може бути сильним обмеженням. Я б рекомендував Git (для користувачів живлення) або Mercurial (для більш простої системи).
Ерік О Лебігот

7
Чергове голосування за Меркуріал.
Кріс Холмс

4
@EOL, SubVersion є життєздатним у цьому випадку. Якщо сховище локальне, то для з'єднання не потрібно робити з'єднання з Інтернетом. (Хоча я б припустив, що сховище має бути принаймні на окремому диску від накопичувача.)
Кен Хендерсон,

1
@EOL: Ага, я забув включити Mercurial, тому що раніше не використовував його; редагуватиме зараз. Хоча (після використання Git) я б не торкався SVN, якби довелося, SVN все ще широко використовується.
Джонатан Кху

1
@ken svn з локальним репо в dropbox ідеально підходить для одного користувача
Martin Beckett

13

Так. Використовуйте його для всього. Використовуйте його для кожного документа, який ви пишете в Word. Використовуйте його для всього коду, який ви пишете. Використовуйте його для кожного створеного вами образу.

Крім того, як тільки ви навчитесь ним користуватися, вам буде краще, коли ви працюєте в командному середовищі.


4
Єдина проблема в Word полягає в тому, що він знаходиться у двійковому форматі, тому ви не можете зробити це diff; ще одна причина використання LaTeX.
габлін

Який сенс буде використовувати його із зображеннями?
Грак

наприклад, WinMerge може відрізняти документи Word і Excel
Саймон

2
@Rook: сенс використання його із зображеннями полягає в тому, що якщо ви редагуєте зображення, ви завжди можете повернутися до старої версії, якщо вам потрібно.
Алекс Д

9

Я люблю використовувати Git, коли працюю в самоті. Наприклад, працюючи в PHP, я просто роблю репозиторій Git у своєму локальному каталозі, який Apache обслуговує. Я можу легко почати працювати над новою функцією (у гілці) та протестувати її на своїй локальній машині. Потім, якщо щось з'являється, і мені потрібно зробити "аварійне виправлення", це просто:

git checkout master

Вуаля! Мій робочий каталог повертається до стану, який був до мого відділення. Я можу швидко виправити. Коли я закінчу, я можу перейти до гілки та продовжувати розвиватися.

Крива навчання не дуже крута, і в Інтернеті є багато інформації, яка допоможе вам розпочати роботу. Копайся в нього. Воно того варто.


Git разом з GitHub або Gist варті зусиль для сольних проектів. Вони захищають вас від себе і дуже легко отримують допомогу, коли ви готові до участі інших.
Роб Аллен

5

Журнал змін дає вам гарне місце для документування змін, не захаращуючи джерело.


2

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

І ви можете отримати доступ до нього будь-де, якщо вам потрібно.


4
ви можете бути обережними щодо завантаження власності компанії на зовнішні сервери. З деякими компаніями це може бути нормально, але інші на це нахмуряться.
davidhaskins

1
Хороший момент, на який слід стежити. Submitter сказав, що проекти для себе, тому я припустив, що це для особистого використання, але, безумовно, переконайтеся, що керівники ліній знають про систему, з якою ви вирішите піти (особливо якщо вони є хмарно-фобічними).
James Love

2

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


2

Якщо ви шукаєте безкоштовну підтримку для закритого джерела, я добре поглянув на Visual Studio Online. Це безкоштовно до 5 дивів і бути самим собою ... ну ... так. Це повідомлення через 4 роки, тому ви, ймовірно, ситуація змінилася, але для інших окремих розробників, які шукають просте управління джерелом, VSO - це один з моїх улюблених варіантів, якщо я не хочу виставляти свій вихідний код. IIRC Github безкоштовний лише для матеріалів із відкритим кодом, але ціна їх дуже недорога. І VSO, і Github дуже добре інтегруються з Visual Studio, якщо це стане вашим IDE на вибір.


І VSO підтримує Git зараз! До побачення незграбний старий TFVC!
RubberDuck

1

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


1

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

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