Onion Information
Distribuirani sustav za upravljanje verzijama Git - GASERI
Upravljanje verzijama podrazumijeva baratanje promjenama nad nekim skupom datoteka pamćenjem povijesti promjena. Spremište povijesti promjena nazivamo repozitorijem (engl. repository). Obzirom na strukturu repozitorija, razlikujemo dva pris...
Onion Details
Page Clicks: 0
First Seen: 03/15/2024
Last Indexed: 10/23/2024
Onion Content
Preskoči na sadržaj Distribuirani sustav za upravljanje verzijama Git Upravljanje verzijama podrazumijeva baratanje promjenama nad nekim skupom datoteka pamćenjem povijesti promjena. Spremište povijesti promjena nazivamo repozitorijem (engl. repository ). Obzirom na strukturu repozitorija, razlikujemo dva pristupa: centralizirani pristup , kod kojeg samo osnovni poslužitelj ima repozitorij, a klijenti imaju ono što od poslužitelja zatraže; ovaj pristup koriste CVS, Subversion i drugi distribuirani pristup , kod kojeg svaki klijent ima repozitorij i time nestaje razlika između poslužitelja i klijenta; ovaj pristup koriste Git, Mercurial i drugi Git je vrlo moćan i vrlo popularan alat za upravljanje verzijama koji koristi decentralizirani (distribuirani) pristup. Ime Git ima vrlo duboko i višeslojno značenje : Quoting Linus: "I'm an egotistical bastard, and I name all my projects after myself. First 'Linux', now 'Git'". ('git' is British slang for "pig headed, think they are always correct, argumentative"). Alternatively, in Linus' own words as the inventor of Git: "git" can mean anything, depending on your mood: Random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant. Stupid. Contemptible and despicable. Simple. Take your pick from the dictionary of slang. "Global information tracker": you're in a good mood, and it actually works for you. Angels sing and light suddenly fills the room. "Goddamn idiotic truckload of sh*t": when it breaks Git svoju popularnost može uvelike zahvaliti servisima kao što su GitHub i Atlassian Bitbucket koji korisnicima omogućuju postavljanje repozitorija sa izvornim kodom na web. Putem tih servisa olakšana je suradnja, a uključuju i brojne druge značajke poznate sa društvenih mreža. Više o Gitu može se saznati na službenim stranicama . Specijalno, službena dokumentacija uključuje man stranice alata, knjigu Pro Git, video materijale i poveznice na tutoriale, knjige i video materijale. Brojni tutoriali su dostupni, a neki od najboljih su upravo GitHubov Getting started i Atlassianov Git Tutorials and Training . Osnovna konfiguracija Globalna konfiguracija odnosi se na sve repozitorije i operira na datoteci .gitconfig unutar kućnog direktorija korisnika. ime, prezime i mail adresa git config --global user.name "Ime Prezime" git config --global user.email user@mail.com ostalo, ali ne i manje važno git config --global color.ui true -- uključivanje korištenja boja u prikazu git config --global core.editor "emacs" -- uređivač teksta koji se koristi postaje Emacs git config --global merge.tool "kdiff3" -- alat za rad sa spajanjima grana koji se koristi postaje KDiff3 Lokalna konfiguracija odnosi se samo na trenutni repozitorij i operira na datoteci .git/config unutar repozitorija. Todo Ovdje treba ubaciti uputu kako promijeniti origin. Sučelje naredbenog retka i grafička sučelja Pregled naredbi alata Git git version -- informacije o verziji gita git help -- ispis liste najčešće korištenih naredbi s pripadajućim opisom git add -- dodavanje sadržaja datoteke u index git branch -- ispis, stvarnaje ili brisanje grane git checkout -- provjera brancha do radnog stabla git clean -- brisanje nepraćenih datoteka iz radnog stabla git clone -- kloniranje repozitorija u novi direktorij git commit -- snimanje promjena u repozitoriju git describe -- prikaz zadnje oznake dohvatljive iz commita git diff -- prikaz promjena između commitova git fetch -- dohvaćanje objekata iz drugog repozitorija git init -- stvaranje praznog git repozitorija ili reinicijalizacija postojećeg git merge -- spajanje dvije ili više povijesti razvoja git pull -- dohvaćanje i spajanje sa drugim repozitorijom ili lokalnom granom git push -- osvježavanje udaljenog repozitorija git revert -- povratak starog commita git status -- prikaz statusa radnog stabla git tag -- stvaranje, ispis ili brisanje oznake objekta potpisanog sa GPG Grafička sučelja alata Git gitk (službeni GUI, koristi Tk ) Tig (koristi ncurses , priladan za remote rad) gitg (koristi GTK+ , za samostalno proučavanje) giggle (koristi GTK+ , za samostalno proučavanje) QGit (koristi Qt , za samostalno proučavanje) git-cola (koristi Qt , za samostalno proučavanje) Vraćanje promjena Todo Ovaj dio treba napisati u cijelosti. Rad s oznakama Todo Ovaj dio treba napisati u cijelosti. Grananje i spajanje Todo Ovaj dio treba napisati u cijelosti. Rješavanje konflikata kod spajanja Todo Ovaj dio treba napisati u cijelosti. Napredna konfiguracija Todo Ovaj dio treba napisati u cijelosti prema dijelu u knjizi Pro Git Atributi Todo Ovaj dio treba napisati u cijelosti prema dijelu u knjizi Pro Git . Zakačke Todo Ovaj dio treba napisati u cijelosti prema dijelu u knjizi Pro Git . Ostali sustavi za upravljanje verzijama CVS Concurrent Versions System (kraće CVS, naredba cvs ) je jedan od najstarijih danas korištenih sustava za upravljanje verzijama. Apache Subversion (kraće SVN, naredba svn ) je popularan centralizirani sustav za upravljanje verzijama. checkout -- preuzima radnu kopiju repozitorija update -- postavlja postojeću radnu kopiju na određenu reviziju Mercurial je, kao i Git, popularan decentralizirani sustav za upravljanje verzijama. clone -- preuzima repozitorij pull -- preuzima skupove promjena iz udaljenog repozitorija u lokalni repzitorij update -- postavlja postojeću radnu kopiju na određenu reviziju iz lokalnog repozitorija Zadatak Mercurial može klonirati i lokalne i udaljene repozitorije na isti način. S poveznice https://hg.python.org/cpython/ ili iz /home/vedran/repositories/ izvršite kloniranje repozitorija cpython . Postavite repozitorij na reviziju f3d96d28a86e . Objasnite razliku efekta naredbi pull i update u ovoj situaciji. Author: Vedran Miletić