git push origin行为的解释

时间:2013-11-22 00:02:58

标签: 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显然他们不是来自上一个命令。有人可以解释发生了什么吗?

1 个答案:

答案 0 :(得分: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”的遥控器时才会起作用,这是不正常的,因为“master”通常用于主分支名称。您的第二次尝试git push origin有效,因为它推动了您的本地跟踪分支,包括masterorigin