Sobes.tech
Junior

Šta je sistem za kontrolu verzija?

sobes.tech АИ

Одговор од АИ

Sistem kontrole verzija (SKV) je alat koji omogućava praćenje promena u fajlovima i upravljanje tim promenama tokom vremena.

Glavne funkcije:

  • Istorija promena: Čuvanje svake verzije fajla sa mogućnošću da se vrati na bilo koju prethodnu.
  • Grananje: Kreiranje nezavisnih linija razvoja za eksperimente ili rad na različitim funkcijama paralelno.
  • Spajanje: Spajanje promena iz različitih grana u jednu.
  • Sinhronizacija: Usklađivanje promena između lokalnih kopija koda i centralnog skladišta (za distribuirane SKV).
  • Praćenje autora: Identifikacija ko i kada je uneo određenu promenu.

Tipovi SKV:

  • Centralizovani (CVCS): Na primer, Subversion (SVN). Postoji jedan centralni server gde se čuva cela istorija. Klijenti rade sa ovom centralnom kopijom.
  • Distribuirani (DVCS): Na primer, Git. Svaki korisnik ima punu kopiju repozitorijuma, uključujući celu istoriju. Rad može biti offline, sinhronizacija se vrši po potrebi.

Prednosti korišćenja SKV:

  • Timovski rad: Olakšava paralelni rad na zajedničkom kodu.
  • Obnova: Omogućava lako vraćanje na stabilnu verziju u slučaju grešaka.
  • Praćenje: Može se videti ko, kada i zašto je napravio određenu promenu.
  • Rezervna kopija: Istorija promena je u suštini oblik rezervne kopije.
  • Upravljanje verzijama: Pomaže u praćenju različitih verzija proizvoda.

Primer Git komande za čuvanje promena:

# Dodavanje svih izmenjenih fajlova u indeks
git add .
# Kreiranje commita sa porukom koja opisuje promene
git commit -m "feat: Dodata funkcija logovanja"