Работа с гитом через php

2k
Алексей,
Работа с гитом через php

Проблема: временно нет доступов к ssh, но нужно поставить гит и сделать первый коммит для работы с проектом на тестовой площадке. Решение: exec().

Проблема: временно нет доступов к ssh, но нужно поставить гит и сделать первый коммит для работы с проектом на тестовой площадке. Решение: exec().

Функция exec() должна быть включена в настройках php, иначе не будет работать.
В корне сайта создаем любой php файл, например git.php и через него работаем с гитом. Не забываем закинуть .gitignore

// Cоздаем репозиторий
exec('cd '.$_SERVER['DOCUMENT_ROOT'].' && git init', $output);
var_dump($output);

// Добавляем всё в коммит
exec('cd '.$_SERVER['DOCUMENT_ROOT'].' && git add .', $output);
var_dump($output);

// Создаем коммит. Тут важно указать имя и email пользователя. 
exec('cd '.$_SERVER['DOCUMENT_ROOT'].' && git -c user.name="username" -c user.email="useremail@site.ru" commit -m "init" ', $output);
var_dump($output);

// Добавляем удаленный репозиторий
exec('cd '.$_SERVER['DOCUMENT_ROOT'].' && git remote add origin https://bitbucket.org/username/repo.git', $output);
var_dump($output);

Отправить коммит в удаленный репозиторий (git push origin) у меня так и не получилось, забрал напрямую.

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 29 июня 2020 | Обновлено 24 ноября 2021
git, костыли
Поделиться
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Проблема: временно нет доступов к ssh, но нужно поставить гит и сделать первый коммит для работы с проектом на тестовой площадке. Решение: exec().