PHP GIT UI
Это простой инструмент для управления GIT проектами в первую очередь на шаред хостингах с PHP или для тех, кто не любит работать по SSH.
В настоящее время доступны следующие возможности GIT:
- Основные функции - ADD, RM, RESET, CHECKOUT и COMMIT.
- DIFF
- LOG
- Добавление в GITIGNORE
- BRANCH
- PATCH [*1]
- PULL/PUSH по ssh или по https с возможностью вбивать пароль, чтобы не хранить его на хостинге/сервере
- Дополнительные инструменты (HELPER):
- Удаление последнего коммита, если он не был загружен в репозиторий
- Создать инлайновые исключения [**2]
- Дополнительные инструменты 2 (RAW)
- Добавление серверов (REMOTE)
- Исправление ошибки с глобальным именем пользователя и емейлом [***3]
- Исправление ошибки с COMMIT
- Обновление PHP GIT UI одной кнопкой
Требования:
- Сервер PHP5+
- Разрешённая на сервере функция proc_open()
Установка:
- Закачать себе на сервер по FTP файл install.php в отдельную папку, куда необходимо установить PHP GIT UI.
- Открыться файл install.php через браузер (например вашсайт/вашапапка/install.php) и указать Логин и Пароль, нажать "Установить".
- Перейти в папку, ввести логин и пароль указанные при установке и начать пользоваться.
Примечания
[*1] PATCH
При патче надо быть аккуратным, так как не реализована интерактивность похожая на патчинг в консоли, редактировать надо сырой diff файл. Кликая по строкам необходимо менять их состояние. Для примера основная ошибка, которая может возникнуть - удаление лишних строк. Предположим у нас есть блок, который мы не хотим вносить в гит
строка
-строка удалённая
+строка добавленная 1
+строка добавленная 2
ещё одна строка
Удалять этот блок надо так
строка
строка удалённая
#строка добавленная 1
#строка добавленная 2
ещё одна строка
Обратите внимание, что "строка удалённая" не закомментирована, а наоборот сделана открытой, то есть как и была раньше.
[**2] Инлайновый исключения
Инлайновыми исключениями вы можете скрывать отдельные строки, например логин и пароль от базы данных. Самый простой вариант выглядит примерно так:
<?php
$login = '';
$login = 'myname'; #gitignore
$pass = '';
$pass = 'mypass'; #gitignore
?>
Таким образом в GIT будут лежать пустые значения, а ваши настоящие данные не будут индексироваться. ВНИМАНИЕ: работает только на текущей машине (локально)!
[***3] Исправление ошибки с глобальным именем пользователя и емейлом
- На странице RAW проверить отсутствие имени и емейла и добавить по необходимости.
- Или открыть файл .git/config и добавить там соответствующие директивы, если они отсутствуют
[user] name = USERNAME email = YOUR@ADRESS.MAIL
- Или в консоли выполнить две команды, которые сделают тоже самое
git config user.name USERNAME git config user.nemailame YOUR@ADRESS.MAIL
Любым из этих трёх способов вы назначите локального пользователя в ваш GIT и он (GIT) не будет искать глобального пользователя, который может быть не доступен из под PHP.