-
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 Водоводне команде
4.7 Гит на серверу - GitWeb
GitWeb
Сада када имате подешене основне начине приступа пројекту, можда ћете желети да подесите и једноставан визуелизатор базиран на вебу. Гит долази са CGI скриптом GitWeb која се понекад користи за ово.
Ако желите да погледате како би GitWeb изгледао на вашем пројекту, програм Гит долази са командом која може да подигне привремену инстанцу ако имате лаган сервер на систему као што је lighttpd
или webrick
.
На Линукс машинама је често инсталиран lighttpd
, тако да можете да га покренете тако што ћете укуцати git instaweb
у директоријуму пројекта.
Ако користите Мек, Леопард долази са већ инсталираним Рубијем, тако да би требало да имате највише поверења у webrick
.
Да бисте покренули instaweb
помоћу неког другог обрађивача, а не са lighttpd
, можете да га покренете помоћу опције --httpd
.
$ git instaweb --httpd=webrick
[2009-02-21 10:02:21] INFO WEBrick 1.3.1
[2009-02-21 10:02:21] INFO ruby 1.8.6 (2008-03-03) [universal-darwin9.0]
Ово покреће HTTPD сервер на порту 1234 и онда аутоматски покреће веб прегледач који отвара ту страницу.
Прилично је једноставно с ваше стране.
Када сте завршили разгледање и желите да угасите сервер, можете да покренете исту команду користећи опцију --stop
:
$ git instaweb --httpd=webrick --stop
Ако желите да се за ваш тим или за пројекат отвореног кода који хостујете веб интерфејс извршава на серверу све време, мораћете подесите да CGI скрипту сервира ваш уобичајени веб сервер.
Неке Линукс дистрибуције имају пакет gitweb
који можете да инсталирате путем apt
или dnf
, па можете прво то да пробате.
Убрзо ћемо прећи на ручно инсталирање GitWeb.
Прво, морате да преузмете изворни кôд програма Гит уз који долази GitWeb, па да генеришете CGI скрипту.
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/opt/git" prefix=/usr gitweb
SUBDIR gitweb
SUBDIR ../
make[2]: `GIT-VERSION-FILE' is up to date.
GEN gitweb.cgi
GEN static/gitweb.js
$ sudo cp -Rf gitweb /var/www/
Обратите пажњу на то да комади морате навести где да пронађе ваше Гит репозиторијуме помоћу променљиве GITWEB_PROJECTROOT
.
Сада треба да подесите Apache тако да користи CGI за ту скрипту, за шта можете да додате VirtualHost:
<VirtualHost *:80>
ServerName gitserver
DocumentRoot /var/www/gitweb
<Directory /var/www/gitweb>
Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>
Да поновимо, GitWeb може да се сервира било коијм веб сервером који је способан да извршава CGI или Perl; а чак и ако вам више одговара нешто друго, не би требало да буде превише тешко за подешавање.
Сада би требало да можете да посетите http://gitserver/
и да на мрежи погледате своје репозиторијуме.