Яке значення використання контролю версій?


19

Я новачок у контролі версій (зараз використовую SVN), але не розумію, як це допомагає розробникам. Що робить контроль версій, що робить його корисним у середовищі розробки?


4
Просто прочитайте чудовий HOWTO-серіал Еріка Сінка: ericsink.com/scm/source_control.html . На все інше тут не так багато відповідей чи обговорень.
Декард

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

2
@rahmanisback ви хочете його відразу після того, як ви зробите Файл | Новий проект ... він вам потрібен, як тільки у вас є> 1 розробник проекту (мій стандартний рядок> 0 розробників - і я вважаю, що це зараз правдивіше, ніж будь-коли)
Мерф

8
Робота без контролю версій виглядає як видалення команди "Скасувати" з текстового процесора, який ви використовуєте для набору есе, або видалення всіх робочих гумок та рідин для виправлення зі свого столу.
rwong

2
@rahmanisback Як тільки ви випадково видалите файл або іншим чином втратите дані, для одного. @rwong приємна аналогія.
Рейн Генріхс

Відповіді:


21

VisualSVN і TortoiseSVN - лише клієнти інтерфейсу для SVN-сервера. SVN-сервер - це система управління джерелом / версіями. Система контролю версій є ключовим активом для будь-якої реальної розробки, оскільки вона зберігає версії ваших вихідних кодів. Під час використання системи управління версіями ви зберігаєте лише локальну копію вихідних кодів. Основна копія зберігається в системі управління версіями, і ви здійснюєте зміни в системі.

SVN дозволяє:

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

VisualSVN - це розширення до Visual Studio, що дозволяє використовувати сховище SVN безпосередньо з інтерфейсу Visual Studio. TortoiseSVN - це розширення до Провідника Windows, що дозволяє вам безпосередньо використовувати сховище SVN під час перегляду папок і файлів.


+1. Haaa .. після використання VCS протягом більше десяти років, начебто важко відповісти "чому". Я маю на увазі, це просто так очевидно - але насправді важко сформулювати справді "чому" так, як ви це зробили! Чудова відповідь.
Діпан Мехта

Я вважаю, що AnkhSVN займається також вбивчою роботою, інтегруючи SVN у Visual Studio.
Саул Дельгадо

6

Контроль версій пропонує ряд речей:

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

Це мінімум для будь-якої роботи з розробки програмного забезпечення, крім того, щоб просто бачити, щоб побачити, що відбувається.

Я завжди попереджую всіх, хто працює з системою контролю версій вперше, що уникнення цього лише викликає проблеми. Вони БУДУТЬ зіткнулися з проблемою , що , коли вони озираються назад вони БУДУТЬ розуміють , що б не трапилися , якби вони використовували систему.


0

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

http://www.ericsink.com/vcbe/html/dvcs_private_workspace.html


8
Навіть самотній розробник потребує контролю версій. VCS не просто "керує накладними витратами", як випливає з цієї цитати.
alroc

5
Навіть самотня розробник може зрозуміти, що зробив щось не так тиждень тому, і хоче повернути старий код. Навіть самотній розробник, можливо, захоче спробувати великий, складний набір рефакторів, не ризикуючи оригінальною базою кодів.
Gort the Robot

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