Работа с гитом через php
Проблема: временно нет доступов к 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) у меня так и не получилось, забрал напрямую.
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.