Oglas

softver za upravljanje verzijamaKao web programeri, puno vremena radimo na lokalnim razvojnim mjestima, a zatim samo prenosimo sve kad završimo. To je u redu kada ste samo vi i promjene su male, ali kada imate posla s više njih osoba koja radi na nečemu ili na velikom projektu s puno složenih komponenti, to jednostavno nije izvedivo. Tada se okrećemo nečemu što se zove kontrola verzija.

Danas ću govoriti o softveru za kontrolu verzija otvorenog koda koji se zove Git. To omogućava više osoba sigurnom radu na istom projektu, bez ometanja jedne druge, ali to je i mnogo više od toga.

Zašto koristiti softver za upravljanje verzijama?

Prije svega, ime bi ga trebalo odavati. Softver za kontrolu verzija omogućuje vam da imate „verzije“ projekta, koje prikazuju promjene koje su unesene u kôd tijekom vremena, i omogućava vam da povučete unazad i poništite te promjene. Sama ova sposobnost uspoređivanja dvije verzije ili obrnutih promjena čini neprocjenjivom prilikom rada na većim projektima.

To ste vjerojatno u nekom trenutku čak i učinili, spremajući kopije projekta na različitim točkama, tako da imate sigurnosnu kopiju. U sustavu za kontrolu verzija spremaju se samo promjene - datoteka zakrpa koja se može primijeniti na jednu verziju kako bi bila ista kao i na sljedećoj verziji. Za jednog programera to je dovoljno.

instagram viewer

Ali što ako imate više programera koji rade na projektu? Tada dolazi ideja o centraliziranom poslužitelju za upravljanje verzijama. Ovo su već duže vrijeme u standardima, pri čemu se sve verzije pohranjuju na središnjem poslužitelju, a pojedini programeri odjavljuju i prenose promjene na ovaj poslužitelj. Ako ste ikada pogledali povijest uređivanja stranice Wikipedije, imat ćete dobru predstavu o tome kako to funkcionira u stvarnom scenariju:

softver za upravljanje verzijama

Prednosti sustava poput ovog je u tome što više programera može izvršiti promjene i svaka promjena tada se može pripisati određenom programeru. S druge strane, činjenica da je sve pohranjeno u udaljenoj bazi podataka znači da se ne mogu mijenjati kada se taj poslužitelj pokvari; a ako se izgubi središnja baza podataka, svaki klijent ima samo trenutnu verziju onoga što je radio.

To nas vodi na Git, i druge tzv distribuirani sustavi za nadzor verzija. U tim sustavima klijenti ne mogu samo provjeriti trenutnu verziju datoteka i raditi na njima - oni zrcale cijelu povijest verzija. Svaki programer uvijek ima potpunu kopiju svega. Središnji poslužitelj se još uvijek koristi, ali ako se najgore dogodi, tada se sve može vratiti s bilo kojeg klijenta koji ima najnovije verzije.

Git posebno djeluje uzimanjem "snimaka" datoteka; ako datoteke ostanu nepromijenjene u određenoj verziji, one se jednostavno povezuju s prethodnim datotekama - to održava sve brzo i mršavo.

Možda će vas zanimati i kada saznate da se Gitom koristi za upravljanje i razvoj jezgra Linux Linuxa - osnovni građevni blok na kojem su ugrađeni svi Linux uređaji.

kontrola verzije

Što je Github?

Iako možete pokrenuti vlastiti Git poslužitelj lokalno, Github je i udaljeni poslužitelj, zajednica programera i grafičko web sučelje za upravljanje vašim Git projektom. Slobodno je koristiti za do 5 javnih spremišta - to jest, kada bilo tko može pogledati ili forkirati vaš kôd - uz niske planove privatnih projekata. Toplo vam predlažem da se prijavite za besplatan račun kako biste se mogli početi igrati okolo sa vlastitim projektima ili forsirati nekoga drugoga.

kontrola verzije

Forking & Branching

Ovo su osnovni pojmovi Git iskustva, pa vam treba malo vremena da objasnite razliku.

Vjerojatno ste čuli rad "viljuška" za rad s Linux distribucijama. Ako ste upoznati s aplikacijom za medijski centar Plex, znat ćete da je to izvorno vilica sličnog otvorenog koda Xbox Media Center Aeon Nox 3.5: Lijepa i prilagodljiva tema za XBMCPostavite svoj medijski centar točno onako kako želite. Aeon Nox 3.5 najnovija je verzija onoga što je možda najbolja tema za XBMC, a rijetka je kombinacija: prekrasna ... Čitaj više . To jednostavno znači da su u neko doba prošlosti neki programeri uzeli kod XBMC-a i odlučili ići svojim putem; to je postao Plex.

To je, naravno, potpuno dopušteno kad je projekt otvorenog koda - možete uzeti kôd i s njim raditi sve što želite. Ako Gite smatrate da su vaše promjene dovoljno dobre da ih možete prevesti u „glavni“ projekt, vi mogu podnijeti „zahtjev za povlačenjem“ autoru, tražeći od vas da vaše promjene povuku u izvornik projekt. To vam omogućuje da u bilo kojem trenutku imate stotine tisuća programera koji rade na projektu, od kojih nitko ne smije mora se odobriti za pristup kodu - oni samo kopiraju kôd, unose promjene i zahtijevaju da se vrate u ovladati; majstorski. Naravno, ovisi o vlasniku izvornog projekta, odluči li prihvatiti vaše promjene ili ne.

Podružnica je nešto što se izvodi unutar projekta ovlaštenih programera. Omogućuje vam lako odvajanje specifičnih problema ili značajki i rad na njima bez probijanja glavnih datoteka. Nakon što se uvjerite da se vaša poslovnica bavila problemom, spajate ga natrag u master. U bilo kojem trenutku može postojati onoliko grana koliko želite; oni se ne miješaju jedni s drugima Također možete spojiti promjene između grana bez dodirivanja master.

Slijedi sjajni dijagram primjera tijeka rada Vincent Driessen:

softver za upravljanje verzijama

Sljedeći put ćemo pogledati kako postaviti radni Git primjer i izvršiti izmjene koda unutar grana. Kontrola verzija je ogromna tema. Ovdje sam dao samo najkraći pregled, ali kao programer koji je navikao samo unositi izmjene i poništavati ih ako ne rade, cijeli mi je koncept razbio um - nadam se da će biti i vaš.

Jeste li iskusni programer sa iskustvom u Gitu? Jeste li tek započeli i mislite da biste voljeli ići? Zvučite u komentarima!

James je diplomirao iz umjetne inteligencije i certificiran je CompTIA A + i Network +. Vodeći je programer MakeUseOf-a, a svoje slobodno vrijeme provodi igrajući VR paintball i boardgames. Gradio je računala još od djeteta.