Какво е контрол на изходния код

Process and Methodology Frequently asked questions

Какво е контрол на изходния код?

Като разработчик сигурно сте чували за Source Code Control (SCC). Когато работите сам, не е необходимо да споделяте изходен код с други разработчици и използването на SCC обикновено не е необходимо. Въпреки това, когато работите в екип, трябва да споделяте изходен код.

Може да кажете: „Просто е: поставете целия изходен код в мрежово устройство и няколко разработчици ще могат да работят с него?“ Да, това е възможно решение. Но какво се случва, ако двама разработчици променят един и същи файл? Прави сте; промените на единия от тях ще бъдат загубени. Системите за контрол на изходния код помагат да се избегне този проблем.

Идеята е наскоро добавените източници да се съхраняват на сървър и да не бъдат модифицирани директно. Вместо това всеки разработчик получава собствено копие. Ако разработчик иска да промени файл, той прави checkout (информира останалите, че ще промени този файл); когато промяната е готова, качва (или прави check in) файла на сървъра. Сървърът автоматично разрешава конфликтите (когато двама потребители модифицират един и същи файл) на ниво ред, т.е. ако един разработчик промени горните редове, а друг – долните, файлът ще бъде автоматично обединен. Ако те променят едни и същи редове, тогава разработчикът, който последен качва промените, трябва да разреши конфликта ръчно, но това се случва много рядко.

Това е основната функция на системата за контрол на изходния код. Освен това системите за контрол на изходния код предоставят някои допълнителни полезни функции, като сравнение на версиите (визуално), rollback, нотификации, тагове, клонове, история, заключвания и т.н. Благодарение на тези функции използването на контрол на изходния код е полезно и за самостоятелен разработчик, тъй като прави ненужно създаването на резервни копия на различни версии на изходния код.


Comments