Git push vs. Git нажмите мастер героя
Я просто перешел с ноутбука ПК на 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. Бывший в настоящее время толкает прямо в Хероку, полностью обходя Гитуба.
Ответы
Ответ 1
Чтобы получить нужное поведение, вам необходимо удалить существующие пульты и повторно добавить их:
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]
Ответ 2
Команда git push
по умолчанию нажимает на удаленный вызов origin
. Это обычно указывает на то место, где вы клонировали ваш репозиторий, но вы можете изменить его позже.
Команда git remote show
покажет список всех пультов. Затем git remote show origin
и git remote show heroku
будет подробно описывать, как настроено каждое из них.
Вы можете управлять и изменять URL-адрес для каждого пульта, используя команду git remote
.
Ответ 3
Просто используя команду git push
- то есть, опустив аргументы, означает, что git придется использовать настройки по умолчанию, которые будут вашим первым удаленным репозиторием (обычно называемым "origin" ) в качестве пункт назначения и локальная главная ветвь в качестве источника. В вашем случае, я предполагаю, что вы клонировали проект из GitHub в первую очередь, что делает ваш по умолчанию удаленным GitHub.
Когда вы указываете аргументы git push heroku master
, вы явно говорите, что нажимаете свою локальную ветвь мастера на удаленный named heroku - таким образом, GitHub не обновляется этой командой.
(Возможно, геройку был вашим первым/стандартным удаленным компьютером на ПК, а когда вы переехали на Mac, удаленный пульт origin
был клоном из GitHub?)