Тема програмиране Команди за работа със сорс-контрол системи



страница1/18
Дата28.10.2022
Размер151.69 Kb.
#115402
  1   2   3   4   5   6   7   8   9   ...   18
ТЕМА 2 Програмиране
Свързани:
09-2010-statia-2011, Комуникационнаполитика 14,15, Бекъпи сега и завинаги, ТЕМА 1. Програмиране, ТЕМА 14 Операционни системи, 16. 03. ИНТЕРНЕТ БИЗНЕС КОМУНИКАЦИИ 16

ТЕМА 2. Програмиране

  1. Команди за работа със сорс-контрол системи.

Сорс контрол системите са създадени за контрол над изходния код на програмите. С течение на времето еволюират и сега се наричат с по-общото наименование системи за контрол чрез версии (version control systems). Аз като програмист обаче си ги наричам по стария начин.
Идеята е на едно място (сървър) да се държи изходния код на програмите и много клиенти (програмисти, дизайнери и т.н.) да вземат от там и да слагат там разни файлове. Основната полза от сорс контрол системите е поддържаната от тях информация за история на промените. Историята позволява да вземеш стара версия на файл, да сравниш различни версии на файл, да маркираш или копираш продадени версии на целия изходен код и т.н. В сорс контрол системите няма понятие за директория както във файловите системи. В центъра на сорс контрола са само файловете. Различните системи наричат еквивалентите си на директории от страна на сървъра с различни имена и позволяват различно съпоставяне между тях и реалните директории от страна на клиента. Тук ще използвам понятието директория в интуитивния му смисъл на контейнер за файлове и ще допускам, че йерархията от контейнери за файлове е еднаква от страна на сървръра и на клиента.
Контрол на версиите (version control)
Система за контрол на версиите се ползва за записване на промените по даден файл или колекция от файлове. Тя позволява да се запази история на промените, да се върне предишна версия, да се добави описание на промените (като например защо и на какво е извършена промяната и други).
Когато по един проект с множество файлове работят много хора, едно от нещата, което би било трудно без такава система, е да се съобразяват промените по различните части на проекта от всички участници.
Системата за контрол на версиите се развива през годините, като в началото ѝ стои локалната система за контрол на версиите (като RCS), при която файловете са били на локалния компютър на разработчика и само той е работил с тях.
След това се появява централизирана система за контрол на версиите (CVSSubversion), която позволява много потребители да работят по един проект. Проектът се намира на един централен компютър, с който те осъществяват връзка.
Накрая се появява децентрализирана система за контрол на версиите (DarcsBazaarGitMercurialFossil, Veracity), която решава най-големия недостатък на другите две – в случай на повреда в централния или локалния компютър, всички данни на проекта могат да бъдат загубени, тъй като се намират на едно физическо място. При децентрализираната система за контрол на версиите проектът се сваля и копира локално на компютъра на всеки участващ потребител, като така се създава бекъп. В случай на необходимост, проектът може да се възстанови от локалното копие на някой от потребителите.
Какво е Git?
Git e една от най-известните и използвани децентрализирани системи за контрол на версиите на файловете. С Git много потребители могат да работят едновременно по един и същ файл, без това да доведе до бъркотия и хаос в съдържанието на файла.
Git е създаден и разработен през април 2005г. от не кой да е, а Линус Торвалдс (човекът зад Linux ядрото). Торвалдс създава Git, за да го използва за разработката на неговия проект Linux ядро. От тогава до днес Git се развива и подобрява от множество потребители. Включително самият проект на Git използва тази система, като много разработчици извършват промени в кода му (C, Shell).
Git е създаден с идеята да е бърз, с прост дизайн, стабилна поддръжка на неправолинейна разработка – хиляди паралелни разклонения (branches), напълно децентрализирана организация и възможност да поддържа ефикасно големи проекти (като Linux ядрото).
Част от проектите, които използват Git са Linux Kernel, KVM, Bacula, CakePHP, Drupal, FFmpeg, GNOME, phpMyAdmin, Ruby on Rails и много други. Сред проектите, които ползват Mercurial са Dovecot, nginx, OpenOffice, Python, rpm, Vim и други.


Сподели с приятели:
  1   2   3   4   5   6   7   8   9   ...   18




©obuch.info 2024
отнасят до администрацията

    Начална страница