Итак, я понимаю, что heroku функционирует как репозиторий git, но пусть я хочу использовать github, а также репозиторий. Как настроить его так, чтобы у меня было два репозитория, и оба синхронизированы?
Героку и гитуб в то же время
Ответ 1
У вас может быть несколько пультов на установке git. У вас будет дистанционный пульт github и удаленный герой.
Предполагая, что у вас уже установлена github, вы, вероятно, нажимаете github на что-то вроде:
git push origin master
origin
- ваш пульт, а master
- ваша ветка.
Следуйте инструкциям в начиная с Heroku, выберите нужный язык и продолжите обучение. В этом руководстве предполагается, что у вас уже установлена github, и покажет вам, как создать ваш heroku
remote - через heroku create
.
Затем вы нажимаете на github как обычно, и нажимаете на герою через:
git push heroku master
Тот же формат применяется - heroku
- ваш пульт, а master
- ваша ветка. Вы не перезаписываете свой удаленный Github здесь, вы добавляете другое, так что вы все равно можете делать оба нажатия через один commit с рабочим процессом, например:
git add .
git commit -m "Going to push to Heroku and Git"
git push origin master -- push to Github Master branch
git push heroku master -- push to Heroku
Ответ 2
Если вы хотите использовать несколько пультов:
Сначала добавьте их:
git remote add origin <github repo>
git remote add heroku [email protected]:<app name>.git
Тогда push
git push origin master
git push heroku master
Если вы хотите одновременно нажать на оба пульта:
Отредактируйте ваш файл конфигурации так, чтобы origin
указывал на heroku и github:
git config -e
Добавить/Заменить:
[remote "origin"]
url = [email protected]:username/somerepo.git
url = ssh://[email protected]/username/somerepo.git
Поскольку вы используете github, вы можете интегрироваться с heroku, перейдя по адресу:
https://dashboard.heroku.com/apps/<app name>/settings#github-repo
и добавьте имя своего хранилища.
Если вы хотите автоматически нажать на heroku после совершения GitHub:
вам нужно будет использовать платформу непрерывной интеграции, такую как TravisCI.
Вот шаги, чтобы заставить это работать. Будьте осторожны с тем, что вы продвигаете в производство, убедитесь, что оно работает, прежде чем оно будет развернуто. У каждого метода есть свои плюсы и минусы.
Ответ 3
Я думаю, что это действительно рекомендуемый случай; функция репозитория Heroku git действительно предназначена для развертывания, а не для управления кодом.
Просто используйте github для управления своим кодом, как обычно, но добавьте в репозиторий Heroku git, когда вы будете готовы к развертыванию. Нет необходимости синхронизировать их с автоматизированными инструментами и т.д., Потому что вы хотите, чтобы вы могли использовать ваш репозиторий github без развертывания, например, чтобы вы могли создавать резервные копии или сотрудничать с незавершенными функциями или поддерживать отдельные среды промежуточной и производственной среды.
Ответ 4
Я делаю это довольно часто. Я создаю сайт для Heroku, но я хочу сохранить свой источник в Github для архивных целей. Я настроил на пульты:
git remote add origin <github repo>
и
git remote add heroku <heroku repo>
Тогда вы можете просто git push origin master
, а затем git push heroku master
. Heroku также позволяет вам связывать репозиторий github для проверки различий фиксации.
Ответ 5
Так как никто раньше не упоминал об этом. Git позволяет вам добавлять несколько URL-адресов для каждого пульта. Просто сделайте это так:
это добавит fetch
и push
из github:
git remote add origin [email protected]:yourName/yourGithubRepo.git
это переопределит github push
с помощью heroku push
:
git remote set-url origin --push --add [email protected]:yourHerokuRepo.git
это снова добавит github push
:
git remote set-url origin --push --add [email protected]:yourName/yourGithubRepo.git
и что окончательный вывод:
$ git remote -v
origin [email protected]:yourName/yourGithubRepo.git (fetch)
origin [email protected]:yourHerokuRepo.git (push)
origin [email protected]:yourName/yourGithubRepo.git (push)
После этого просто запустите:
git push
Если вместо того, чтобы работать, он говорит sth о настройке восходящего потока, затем введите это сначала:
git push --set-upstream origin master
Ответ 6
Если вы не хотите управлять двумя репозиториями и просто в Github, вот как вы можете это сделать (предположим, что вы уже создали приложение Heroku).
1) Сначала скопируйте репозиторий Heroku на свой локальный.
2) Затем создайте репозиторий Github и нажмите здесь локально.
3) Как только это будет сделано, используйте wercker
4) Перейдите к "Добавить приложение" и заполните данные. Они довольно просты. Используйте созданный вами репозиторий Github.
5) После добавления приложения goto Setting и добавьте Deploy Target. Выберите герою из списка. И затем выберите приложение Heroku, которое вы создали, и его ветки, которые вы хотели бы нажать.
Что это! Все готово. Теперь ваш репозиторий Github синхронизирован с вашим приложением Heroku. Все, что вы нажимаете на репозиторий Github, используя
git push origin master
будет автоматически развернут в ваше приложение Heroku. Таким образом, у вас есть ваш репозиторий в Github для управления, и у вас есть только один репо.:)