-
1. Почетак
- 1.1 О контроли верзије
- 1.2 Кратка историја програма Гит
- 1.3 Шта је Гит?
- 1.4 Командна линија
- 1.5 Инсталирање програма Гит
- 1.6 Подешавања за први пут
- 1.7 Тражење помоћи
- 1.8 Резиме
-
2. Основе програма Гит
- 2.1 Прављење Гит репозиторијума
- 2.2 Снимање промена над репозиторијумом
- 2.3 Преглед историје комитова
- 2.4 Опозив
- 2.5 Рад са удаљеним репозиторијумима
- 2.6 Означавање
- 2.7 Гит алијаси
- 2.8 Резиме
-
3. Гранање у програму Гит
- 3.1 Укратко о гранању
- 3.2 Основе гранања и спајања
- 3.3 Управљање гранама
- 3.4 Процеси рада са гранањем
- 3.5 Удаљене гране
- 3.6 Ребазирање
- 3.7 Резиме
-
4. Гит на серверу
- 4.1 Протоколи
- 4.2 Постављање програма Гит на сервер
- 4.3 Генерисање јавног SSH кључа
- 4.4 Подешавање сервера
- 4.5 Гит демон
- 4.6 Паметан HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Опције за хостовање које нуде трећа лица
- 4.10 Резиме
-
5. Дистрибуирани Гит
-
6. GitHub
-
7. Гит алати
- 7.1 Избор ревизија
- 7.2 Интерактивно стејџовање
- 7.3 Скривање и чишћење
- 7.4 Потписивање вашег рада
- 7.5 Претрага
- 7.6 Поновно исписивање историје
- 7.7 Демистификовани ресет
- 7.8 Напредно спајање
- 7.9 Rerere
- 7.10 Отклањање грешака са програмом Git
- 7.11 Подмодули
- 7.12 Паковање
- 7.13 Замена
- 7.14 Складиште акредитива
- 7.15 Резиме
-
8. Прилагођавање програма Гит
- 8.1 Конфигурисање програма Гит
- 8.2 Гит атрибути
- 8.3 Гит куке
- 8.4 Пример полисе коју спроводи програм Гит
- 8.5 Резиме
-
9. Гит и остали системи
- 9.1 Гит као клијент
- 9.2 Мигрирање на Гит
- 9.3 Резиме
-
10. Гит изнутра
- 10.1 Водовод и порцелан
- 10.2 Гит објекти
- 10.3 Гит референце
- 10.4 Pack фајлови
- 10.5 Рефспек
- 10.6 Протоколи за пренос
- 10.7 Одржавање и опоравак податак
- 10.8 Променљиве окружења
- 10.9 Резиме
-
A1. Додатак А: Програм Гит у другим окружењима
- A1.1 Графички интерфејси
- A1.2 Гит у Visual Studio
- A1.3 Гит у Visual Studio Code
- A1.4 Гит у IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Гит у Sublime Text
- A1.6 Гит унутар Bash
- A1.7 Гит у Zsh
- A1.8 Гит у Powershell
- A1.9 Резиме
-
A2. Додатак Б: Уграђивање програма Гит у ваше апликације
- A2.1 Гит из командне линије
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Додатак В: Гит команде
- A3.1 Подешавање и конфигурација
- A3.2 Набављање и креирање пројеката
- A3.3 Основно снимање
- A3.4 Гранање и спајање
- A3.5 Дељење и ажурирање пројеката
- A3.6 Инспекција и поређење
- A3.7 Отклањање грешака
- A3.8 Крпљење
- A3.9 Имејл
- A3.10 Спољни системи
- A3.11 Администрација
- A3.12 Водоводне команде
2.1 Основе програма Гит - Прављење Гит репозиторијума
Ако постоји једно поглавље које је довољно прочитати да бисте могли да се снађете у програму Гит, онда је то ово. Ово поглавље покрива сваку основну команду која ће вам бити потребна да бисте обавили велику већину ствари које ћете најчешће радити док будете користили Гит. Кад завршите с овим поглављем, моћи ћете да конфигуришете и иницијализујете репозиторијум, да почнете и престанете да пратите фајлове, и да стејџујете и комитујете промене. Показаћемо вам и како да брзо подесите програм Гит тако да игнорише неке фајлове и типове фајлова, како да поништите грешке брзо и лако, како да претражите историју пројекта и погледате промене између комитова, и како да гурнете и повучете (push и pull) фајлове са удаљених репозиторијума.
Прављење Гит репозиторијума
Гит пројекат можете да преузмете на један од два основна начина:
-
Можете да узмете неки постојећи локални директоријум који тренутно није под контролом верзије, па да га претворите у Гит репозиторијум, или
-
Можете да клонирате постојећи Гит репозиторијум са неког другог места.
У сваком случају, добићете Гит репозиторијум на локалној машини који је спреман за рад.
Иницијализација репозиторијума у постојећем директоријуму
Ако имате директоријум пројекта који тренутно није под контролом верзије и желите почети да га контролишете помоћу програма Гит, најпре морате да одете до директоријума пројекта. Ако ово никада раније нисте радили, процедура се разликује у односу на систем који користите:
за Линукс:
$ 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 протокол за пренос.
Постављање програма Гит на сервер ће представити све доступне опције које сервер може подесити за приступање Гит репозиторијуму, као и предности и мане сваког од њих.