2013-11-22 3 views
0

Я новичок в git. Я создал репозиторий на сервере и работал над локальным клоном. Я продолжал совершать в моем локальном хранилище и после точки я вижу следующее сообщение -Объяснение поведения происхождения git push

"Your branch is ahead of 'origin/master' by 5 commits." 

Так что я сделал git push master, и тогда я все еще вижу одно сообщение выше, когда я делаю git status.

После небольшого чтения я понял, что git push master будет только толкать изменения в удаленной ветви. Итак, я сделал git push origin, в результате чего Everything up-to-date. После этого пункта git status не говорит мне, что ветка впереди начала/мастера.

Я не понимаю, почему git push origin привел к Everything up-to-date, когда они явно не из предыдущей команды. Может кто-нибудь объяснить, что произошло?

ответ

2
$ git push -h 
usage: git push [<options>] [<repository> [<refspec>...]] 

Проще говоря, первый аргумент git push обычно название пульта дистанционного управления. Например, origin. Второй аргумент обычно является локальной ветвью, например master. Вот несколько примеров, и что они делают:

git push 
# --> push all local branches to the remote branches they are tracking 

git push origin 
# --> push all local branches tracking branches on origin to origin 

git push origin master 
# --> push the local master branch to origin/master 

Ваша первая попытка, git push master не должны работать или делать что-то странное: он будет работать только если у вас есть пульт под названием «мастер», который не является нормальным, поскольку «master» обычно используется для имени основной ветки. Ваша вторая попытка, git push origin сработала, потому что она переместила ваши локальные ветви отслеживания, включая master в origin.

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