2013-09-01 3 views
2

я сделал ошибку только сейчас по ошибке выдала команду:Что произойдет, если я по ошибке нажать местный филиал освоить

git push origin master 

на местный филиал, скажем, mybranch. Эта ветвь разветвлена ​​от мастера и содержит некоторые локальные изменения, которых нет у мастера.

сообщение я получаю:

Everything up-to-date 

Я проверил мастер-журнал нет ничего ненормального. Мой вопрос:

  1. Разве я вел ветку мастера?
  2. Почему это говорит «Все актуальное», даже если mybranch содержит то, что у мастера нет?

Спасибо.

ответ

6

Если вы не указали ветви источника (местного) и назначения (удаленного), то push использует указанную спецификацию как источник, так и пункт назначения. Итак, в основном, когда вы делали

git push origin master 

Вы просто подтолкнули вашу локальную ведущую ветвь к удаленной главной ветви.

Чтобы действительно подтолкнуть вашу ветку в мастер, вы должны сделать

git push origin mybranch:master 
+0

Так вы имеете в виду команда «мерзавец мастера толчок происхождения» я выполнил на самом деле пыталась подтолкнуть мой местный мастер на удаленный мастер даже если моя текущая ветвь была mybranch? – Kevin

+3

Да, так работает команда. Если вы не указали refspec, он использует текущую ветку как источник и пункт назначения, если вы укажете один refspec, вместо этого он использует это, и, наконец, вы можете использовать : , чтобы полностью определить, где и где должен находиться push. – asermax

+0

Вы всегда можете проверить git diff origin/master'. – Travis

Смежные вопросы