Git push против мастера git push heroku

Я только что перешел с ноутбука на Mac и заметил любопытную разницу в том, как реагируют мои команды git.

Раньше я бы сделал следующее:

git add .
git commit -m "These are my new changes"
git push # This would update my repo on github
{enter password}
git push heroku master # This would push to my app on heroku
{enter password}

Теперь, когда я делаю git push, приложение просто развертывается на Heroku без отправки в мой репозиторий Github.

Как я могу убедиться, что обновляю оба места?

Редактировать

Спасибо за ваши два ответа! Я ценю разъяснение разницы между git push и git push heroku master в том смысле, что git push подталкивает к происхождению, которое в моем случае, похоже, является Heroku.

Как изменить настройки, чтобы они работали как раньше? т. е. я хочу, чтобы git push теперь отправлялось в мой репозиторий на Github, а git push heroku master — в Heroku. Первый в настоящее время продвигается прямо к Heroku, полностью минуя Github.


person sscirrus    schedule 10.12.2010    source источник
comment
У меня была очень похожая проблема, и я обнаружил, что это очень полезно: > stackoverflow.com/questions/2947190/   -  person lflores    schedule 14.12.2012


Ответы (3)


Чтобы получить желаемое поведение, вам нужно удалить существующие пульты и добавить их заново:

git remote show origin # copy down the heroku URL
git remote rm origin
git remote add origin [github URL]
git remote add heroku [heroku URL]
person Ben Scofield    schedule 11.12.2010
comment
Или git remote rename origin heroku, а затем get remote add origin <github-url> вместо записи. - person Adam Vandenberg; 11.12.2010

Простое использование команды git push, то есть опускание аргументов, означает, что git придется использовать значения по умолчанию, которые будут вашим первым удаленным репозиторием (обычно называемым «происхождение») в качестве места назначения и вашей локальной главной веткой. как источник. В вашем случае я предполагаю, что вы в первую очередь клонировали проект из GitHub, что делает ваш удаленный по умолчанию GitHub.

Когда вы указываете аргументы git push heroku master, вы явно указываете, что нужно отправить вашу локальную основную ветку на удаленную ветвь с именем heroku, поэтому GitHub не обновляется этой командой.

(Возможно, heroku был вашим первым пультом по умолчанию на ПК, а когда вы перешли на Mac, пульт origin был клоном с GitHub?)

person ewall    schedule 10.12.2010

Команда git push по умолчанию отправляет на удаленный сервер с именем origin. Обычно это указывает на место, откуда вы клонировали свой репозиторий, но вы можете изменить его позже.

Команда git remote show покажет список всех пультов. Затем git remote show origin и git remote show heroku подробно описывают настройку каждого из них.

Вы можете управлять и изменять URL для каждого удаленного устройства, используя git remote команда.

person Greg Hewgill    schedule 10.12.2010