Подтвердить что ты не робот

Героку и гитуб в то же время

Итак, я понимаю, что heroku функционирует как репозиторий git, но пусть я хочу использовать github, а также репозиторий. Как настроить его так, чтобы у меня было два репозитория, и оба синхронизированы?

4b9b3361

Ответ 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

и добавьте имя своего хранилища.

github integration

Если вы хотите автоматически нажать на 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 для управления, и у вас есть только один репо.:)