Git
Chapters ▾ 2nd Edition

2.1 Основе програма Гит - Прављење Гит репозиторијума

Ако постоји једно поглавље које је довољно прочитати да бисте могли да се снађете у програму Гит, онда је то ово. Ово поглавље покрива сваку основну команду која ће вам бити потребна да бисте обавили велику већину ствари које ћете најчешће радити док будете користили Гит. Кад завршите с овим поглављем, моћи ћете да конфигуришете и иницијализујете репозиторијум, да почнете и престанете да пратите фајлове, и да стејџујете и комитујете промене. Показаћемо вам и како да брзо подесите програм Гит тако да игнорише неке фајлове и типове фајлова, како да поништите грешке брзо и лако, како да претражите историју пројекта и погледате промене између комитова, и како да гурнете и повучете (push и pull) фајлове са удаљених репозиторијума.

Прављење Гит репозиторијума

Гит пројекат можете да преузмете на један од два основна начина:

  1. Можете да узмете неки постојећи локални директоријум који тренутно није под контролом верзије, па да га претворите у Гит репозиторијум, или

  2. Можете да клонирате постојећи Гит репозиторијум са неког другог места.

У сваком случају, добићете Гит репозиторијум на локалној машини који је спреман за рад.

Иницијализација репозиторијума у постојећем директоријуму

Ако имате директоријум пројекта који тренутно није под контролом верзије и желите почети да га контролишете помоћу програма Гит, најпре морате да одете до директоријума пројекта. Ако ово никада раније нисте радили, процедура се разликује у односу на систем који користите:

за Линукс:

$ cd /home/user/my_project

за мекОС:

$ cd /Users/user/my_project

за Виндоуз:

$ cd C:/Users/user/my_project

и откуцајте:

$ git init

Ово прави нови поддиректоријум под именом .git који садржи све неопходне фајлове - скелет Гит репозиторијума. У овом тренутку се још увек ништа не прати у вашем пројекту. Погледајте Гит изнутра за више информација о томе шта су тачно фајлови који се налазе у .git директоријуму који сте управо направили.

Ако желите да почнете са контролом верзије постојећих фајлова (за разлику од празног директоријума), вероватно би требало да почнете праћење тих фајлова и да учините иницијални комит. То можете постићи са неколико git add команди које наводе фајлове које желите да пратите, а затим укуцајте команду git commit:

$ git add *.c
$ git add LICENSE
$ git commit -m 'Initial project version'

Ускоро ћемо објаснити шта раде ове команде. Сада имате Гит репозиторијум са праћеним фајловима и иницијалним комитом.

Клонирање постојећег репозиторијума

Ако желите да преузмете копију постојећег Гит репозиторијума — на пример, пројекта којем бисте желели дате свој допринос — команда која вам је потребна је git clone. Ако сте упознати са другим VCS системима као што је Subversion, приметићете да је команда clone а не checkout. Ово је битна разлика - уместо да само прави радну копију, програм Гит прима целу копију скоро свих података које има сервер. Свака верзија сваког фајла целе историје пројекта се повлачи када се покрене git clone. Заправо, ако дође до грешке на серверовом диску, најчешће можете да искористите скоро сваки од клонова који клијенти имају да бисте вратили сервер у стање у коме је био када је клониран (можете да изгубите неке куке на серверској страни, али сви верзионисани подаци би били ту — погледајте Постављање програма Гит на сервер за више детаља).

Репозиторијум се клонира са git clone <url>. На пример, ако хоћете да клонирате Гит везивну библиотеку која се зове libgit2, можете то да урадите овако:

$ git clone https://github.com/libgit2/libgit2

Ово прави директоријум са именом libgit2, инцијализује .git директоријум у њему, повлачи све податке са тог репозиторијума и одјављује радну копију последње верзије. Ако одете у нови libgit2 директоријум, видећете све фајлове из пројекта тамо, спремне за рад над њима или коришћење.

Ако желите да клонирате репозиторијум у нешто под различитим именом од libgit2, то можете навести следећом командом:

$ git clone https://github.com/libgit2/libgit2 mylibgit

Ова команда ради исто што и претходна, с тим што се одредишни директоријум зове mylibgit.

Програм Гит може да користи велики број различитих трансфер протокола. Претходни пример користи https:// протокол, али можете да користите и git:// или корисник@сервер:путања/до/репозиторијума.git, који користи SSH протокол за пренос. Постављање програма Гит на сервер ће представити све доступне опције које сервер може подесити за приступање Гит репозиторијуму, као и предности и мане сваког од њих.