git push
не выдвигает все ваши локальные ветви: как он узнает, к каким удаленным ветвям их подтолкнуть? Он выдвигает только локальные ветви, которые были настроены для передачи в определенную удаленную ветвь.
В моей версии Git (1.6.5.3), когда я запускаю git remote show origin
, он фактически выводит, какие ветви настроены для push:
Local refs configured for 'git push':
master pushes to master (up to date)
quux pushes to quux (fast forwardable)
Q. Но я могу нажать на master
, не беспокоясь обо всем этом!
Когда вы git clone
, по умолчанию он устанавливает вашу локальную ветвь master
для передачи на ветку master
пульта дистанционного управления (локально называемую origin/master
), поэтому, если вы фиксируете только на master
, тогда простой git push
всегда отодвинет ваши изменения обратно.
Тем не менее, из выходного фрагмента, который вы разместили, вы находитесь в ветке с именем develop
, которая, как я полагаю, не была настроена на что-либо. Так что git push
без аргументов не будет выдвигать коммиты в этой ветви.
Когда написано «Все актуально», это означает «все ветки, которые вы сказали мне, как продвигать, актуальны».
Q. Так, как я могу выдвинуть мои коммиты?
Если то, что вы хотите сделать, это поместить ваши изменения из develop
в origin/master
, то вам, вероятно, следует объединить их с вашим локальным master
, а затем нажать:
git checkout master
git merge develop
git push # will push 'master'
Если вам нужно создать ветку develop
на удаленном компьютере, отдельную от master
, а затем предоставить аргументы для git push
:
git push origin develop
Это: создаст новую ветку на пульте с именем develop
; и приведите эту ветку в соответствие с вашей локальной веткой develop
; и установите для develop
значение origin/develop
, чтобы в будущем git push
без аргументов автоматически выдвигало develop
.
Если вы хотите отправить локальный develop
в удаленную ветку, называемую чем-то отличным от develop
, тогда вы можете сказать:
git push origin develop:something-else
Однако, эта форма не будет настраивать develop
, чтобы всегда подталкивать к origin/something-else
в будущем; это однократная операция.