У меня есть проект, который развернут на Heroku, и я хотел бы сделать общедоступную версию для Github.Проблема в том, что существует папка libs
, которая содержит несколько файлов .js и должна быть отправлена в Heroku, но не в Github.Очевидно, что конфигурация Heroku CLI с не является ответом, так как у меня есть скрытые файлы, а не только ключи API.
Итак, как я могу перенести полный проект в Heroku, но только частичный проект в Github?Большинство ответов, которые я нашел, говорили о CLI Heroku, который не может быть применен в моем случае, потому что я пытаюсь скрыть файлы, а не ключи, и другой довольно хардкорный ответ должен был сначала нажать, чтобы получить github
ветка, на которой я бы git cherry-pick
коммитит на ветку героку.До сих пор я использовал предыдущий ответ, но довольно сложно всегда повторять эту процедуру (по крайней мере git checkout github
-> git cherry-pick COMMIT-ID
) и что-то портит историю.
Итак, я попытался сделать хук после коммита, чтобы каждый раз, когда я совершал коммит на master (heroku), он переключался на ветку github, cherry-pick коммит, а затем возвращался к master, чтобы процедуравыглядеть безупречноК сожалению, это работает только иногда, но глюки мерзнут больше всего на свете.
branch=`git branch | grep \* | cut -d ' ' -f2`
if [ "$branch" = "master" ]
then
echo "Executing post-commit script (cherry-pick)..."
commitID=`git rev-parse HEAD`
git checkout Github
git cherry-pick $commitID
git checkout master
echo "Cherry picked $commitID into Github branch"
fi
РЕДАКТИРОВАТЬ: Кажется, что ловушка после фиксации, кажется, работает большую часть времени сейчас.Я думаю, что проблемы возникают, когда я фиксирую через VSCode, но если я фиксирую через терминал, он работает чисто без странного поведения ... Тем не менее, было бы неплохо иметь, возможно, более безопасный способ сделать это.