Как изменить пульт Git на Heroku


106

Я не хочу загружать свое приложение не в тот домен.

Как я могу изменить главную ветку git на git?


Да. Я создал новое приложение heroku: heroku create myapp. Но у меня на героку есть другое приложение. Я просто хочу сменить мастер git на новое приложение. Так что я могу сказать: git push heroku master. И код будет загружен в новое приложение, а не в старое.
Джон

возможный дубликат Replace remote git repo (Heroku)
lambshaanxy 05

Ответы:


175

Если вы работаете на herokuпульте дистанционного управления (по умолчанию):

heroku git:remote -a [app name]

Если вы хотите указать другой пульт, используйте -rаргумент:

heroku git:remote -a [app name] -r [remote] 

РЕДАКТИРОВАТЬ: спасибо Алексею Володько за то, что он указал на то, что нет необходимости удалять старый пульт.


8
Просто следовал этому подходу и, похоже, является правильным способом ТЕКУЩЕГО сделать это.
Джо

1
Поскольку не было правильного ответа, обозначенного OP, и этот ответ в целом является ответом на вопрос OP и имеет больше голосов, чем «верхний» ответ выше, почему этот ответ все еще отображается ниже менее согласованного ответа? Спасибо.
Devon Kiss

5
Нет необходимости даже удалять старый git remote. heroku git:remote -a appname- отлично заменит старый.
Алексей Володько

101

Предполагая, что ваш текущий пульт называется, originтогда:

Удалите текущую удаленную ссылку с помощью

git remote rm origin

Добавить новый пульт

git remote add origin <URL to new heroku app>

нажать на новый домен

git push -u origin master

Это -uбудет настроено как отслеживаемое.


Как мне узнать, как называется мое происхождение?
Новичок в Rails

1
вы можете объяснить, что вы имели в виду здесь The -u will set this up as tracked.Спасибо!
uday

1
@uDay Это означает, что когда вы попросите оттянуть, он будет знать, что нужно получить и объединить эту ветку
Abizern

1
Я бы обновил этот ответ, чтобы сначала удалить пульт heroku, а не мастер удаленного происхождения git ...
zero_cool

7
  1. Просмотр удаленных URL-адресов

    > git remote -v

    heroku  https://git.heroku.com/###########.git (fetch) < your Heroku Remote URL
    heroku  https://git.heroku.com/############.git (push)
    origin  https://github.com/#######/#####.git (fetch) < if you use GitHub then this is your GitHub remote URL
    origin  https://github.com/#######/#####.git (push)
  1. Удалить удаленный URL-адрес Heroku

    > git remote rm heroku

  2. Установить новый URL Heroku

    > heroku git:remote -a ############

И все готово.



3

У вас может быть столько веток, сколько вы хотите, как в обычном репозитории git, но, согласно документации heroku, любая ветка, кроме, masterбудет проигнорирована.

http://devcenter.heroku.com/articles/git

Ветви, отправленные в Heroku, кроме master, будут игнорироваться. Если вы работаете из другой ветки локально, вы можете либо выполнить слияние с мастером перед отправкой, либо указать, что вы хотите отправить локальную ветку на удаленный мастер.

Это означает, что вы можете отправлять все, что захотите, но ваше приложение на heroku всегда будет указывать на основную ветку.

Но если у вас есть вопрос о том, как создавать ветки и работать с git, вы должны проверить этот другой вопрос


1
Как мне изменить мастер git?
Джон

Что ты имеешь в виду? по change the git masterвы имеете в виду изменения файлов, а затем совершить и нажать на него? переименовать? Что именно ты пытаешься сделать?
Фелипе Сабино,

1
Только что видел ваш комментарий к вопросу, у вас проблемы с пультом, а не с ветвями ... проверьте ответ @ Abizern :)
Фелипе Сабино

1

вот лучший ответ, найденный в документации Git.

Это показывает, что такое пульт heroku:

$ git удаленный URL-адрес получения

Нашел здесь: https://git-scm.com/docs/git-remote Также в этом документе есть set-url, если вам нужно его изменить.


0

Если у вас есть несколько приложений на heroku и вы хотите добавить изменения в конкретное приложение, выполните следующую команду: heroku git: remote -a appname, а затем выполните следующее. 1) git add. 2) git commit -m "изменения" 3) git push heroku master

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.