/phpgitui

A small script to replace the git console for Shared Hosting

Primary LanguagePHP

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) и указать Логин и Пароль, нажать "Установить".
  • Перейти в папку, ввести логин и пароль указанные при установке и начать пользоваться.

основная страница phpgitui

Примечания

[*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.