-
1. Вступ
- 1.1 Про систему контролю версій
- 1.2 Коротка історія Git
- 1.3 Основи Git
- 1.4 Git, зазвичай, тільки додає дані
- 1.5 Три стани
- 1.6 Командний рядок
- 1.7 Інсталяція Git
- 1.8 Початкове налаштування Git
- 1.9 Отримання допомоги
- 1.10 Підсумок
-
2. Основи Git
- 2.1 Створення Git-репозиторія
- 2.2 Запис змін до репозиторія
- 2.3 Перегляд історії комітів
- 2.4 Скасування речей
- 2.5 Взаємодія з віддаленими сховищами
- 2.6 Теґування
- 2.7 Псевдоніми Git
- 2.8 Підсумок
-
3. Галуження в git
- 3.1 Гілки у кількох словах
- 3.2 Основи галуження та зливання
- 3.3 Управління гілками
- 3.4 Процеси роботи з гілками
- 3.5 Віддалені гілки
- 3.6 Перебазовування
- 3.7 Підсумок
-
4. Git на сервері
- 4.1 Протоколи
- 4.2 Отримання Git на сервері
- 4.3 Генерація вашого публічного ключа SSH
- 4.4 Налаштування Серверу
- 4.5 Демон Git
- 4.6 Розумний HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Варіанти стороннього хостингу
- 4.10 Підсумок
-
5. Розподілений Git
-
6. GitHub
-
7. Інструменти Git
- 7.1 Вибір ревізій
- 7.2 Інтерактивне індексування
- 7.3 Ховання та чищення
- 7.4 Підписання праці
- 7.5 Пошук
- 7.6 Переписування історії
- 7.7 Усвідомлення скидання (reset)
- 7.8 Складне злиття
- 7.9 Rerere
- 7.10 Зневадження з Git
- 7.11 Підмодулі
- 7.12 Пакування
- 7.13 Заміна
- 7.14 Збереження посвідчення (credential)
- 7.15 Підсумок
-
8. Налаштування Git
-
9. Git and Other Systems
- 9.1 Git як клієнт
- 9.2 Міграція на Git
- 9.3 Підсумок
-
10. Git зсередини
- 10.1 Кухонні та парадні команди
- 10.2 Об’єкти Git
- 10.3 Посилання Git
- 10.4 Файли пакунки
- 10.5 Специфікація посилань (refspec)
- 10.6 Протоколи передачі
- 10.7 Супроводження та відновлення даних
- 10.8 Змінні середовища
- 10.9 Підсумок
-
A1. Додаток A: Git в інших середовищах
- A1.1 Графічні інтерфейси
- A1.2 Git у Visual Studio
- A1.3 Git в Eclipse
- A1.4 Git у Bash
- A1.5 Git у Zsh
- A1.6 Git у Powershell
- A1.7 Підсумок
-
A2. Додаток B: Вбудовування Git у ваші застосунки
- A2.1 Git з командного рядка
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
-
A3. Додаток C: Команди Git
- A3.1 Налаштування та конфігурація
- A3.2 Отримання та створення проектів
- A3.3 Базове збереження відбитків
- A3.4 Галуження та зливання
- A3.5 Поширення й оновлення проектів
- A3.6 Огляд та порівняння
- A3.7 Зневаджування
- A3.8 Латання (patching)
- A3.9 Електронна пошта
- A3.10 Зовнішні системи
- A3.11 Адміністрування
- A3.12 Кухонні команди
4.7 Git на сервері - GitWeb
GitWeb
Тепер, коли у вас є базовий доступ до вашого проекту з правом читання та з правами на читання та запис, можливо ви бажаєте налаштувати простий візуалізатор через веб. Git поставляє CGI скрипт GitWeb, який іноді для цього використовують.
Якщо ви бажаєте подивитись, як виглядає GitWeb для вашого проекту, Git має команду для запуску тимчасового прикладу, якщо у вас є легкий веб-сервер на системі, наприклад lighttpd
або webrick
.
На машинах Linux часто є lighttpd
, отже ви може швидко його запустити, якщо наберете git instaweb
у теці вашого проекту.
Якщо ви використовуєте Mac, Leopard одразу має Ruby, отже 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 скрипт, щоб він працював на вашому звичайному веб сервері.
Деякі дистрибутиви Linux мають пакет gitweb
, який ви можливо можете встановити за допомогою apt
або dnf
, отже можливо варто спочатку спробувати ці команди.
Ми дуже швидко розглянемо встановлення GitWeb вручну.
Спочатку треба отримати програмний код Git, в якому є і код GitWeb, та згенерувати власний CGI скрипт:
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/srv/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/
Зауважте, що ви маєте вказати цій команді, де розташовані ваші сховища Git за допомогою змінної змінної 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>
Як і попередній CGI скрипт, GitWeb може працювати на будь-якому здатному на CGI або Perl веб сервері. Якщо ви хочете використовувати щось інше, налаштування має бути легким.
Тепер ви можете зайти до http://gitserver/
та побачити ваші сховища.