2013-11-22 83 views
0

我是git的新手。我在服務器上設置了一個存儲庫,並在本地克隆上工作。我一直承諾我的本地庫,並與後我看到下面的消息 -git推送原點行爲的說明

"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不應該工作或做一些奇怪的事情:如果你有一個遙控器叫做「大師」,這是不正常的它只會工作,因爲「主」通常用於主分支名稱。你的第二次嘗試,git push origin工作,因爲它推動您的本地跟蹤分支,包括masterorigin