Спасибо всем за помощь, в конце концов, не один ответ решил все мои проблемы, а комбинация предложений и дополнительных исследований, которые помогли мне получить именно то, что мне нужно.
Часть того, что мне было нужно, должна быть сделана вручную при первой настройке клиента с новым сайтом, подключенным к GitHub, остальное я сделаю в PHP через функцию shell_exec ().
git clone --depth=1 https://github.com/modusinternet/Custodian-CMS.git /tmp/Custodian-CMS
rm -rf /tmp/Custodian-CMS/.git
shopt -s dotglob
cp -r /tmp/Custodian-CMS/* /home/YOUR_ACCOUNT/YOUR_WEB_FOLDER
rm -rf /tmp/Custodian-CMS
git init
git add --all
git config --global user.email ""
git config --global user.name ""
git commit -m "first commit"
git remote add origin git@github.com:YOUR_ACCOUNT_ON_GITHUB/YOUR_REPO_ON_GITHUB.git
git push -u origin master
Это вытаскивает копию того, что мне нужно, очищает ее, помещает туда, где она есть, инициализирует git на новом месте, подключает ее к моему новому репо и толкает все, чтобы я мог начать работать с ней.
В моем случае мне не нужна обратная совместимость, потому что каждый клиент, с которым я работаю, в любом случае полностью меняет стартовые шаблоны.
Я добавлю в админке кнопку, чтобы позже справиться с загрузкой по FTP прямо на сервер, но этот код я буду использовать для повторной синхронизации с репо:
git add --all
git commit -m "From server"
git push -u origin master
Особая благодарность Андреа Пикатчу Фоллак, Ришабх Агарвал и CodeWizard за их предложения.