我是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
显然他们不是来自上一个命令。有人可以解释发生了什么吗?
答案 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
有效,因为它推动了您的本地跟踪分支,包括master
到origin
。