当它说git步骤是" 1提前"它是什么意思?

时间:2014-03-12 15:55:21

标签: git bitbucket atlassian-sourcetree

我试图通过使用SourceTree作为工具来学习git。

我将本地存储库添加到BitBucket存储库,然后在本地进行了一些更改。我犯了他们,然后推了他们。 然后我登录BitBucket并手动更改文档的一部分(项目"添加4")。 然后我回到我的本地副本并再次更改并承诺。当我试图推它时,它告诉我,我首先必须拉动并合并。所以我做到了。

然后我再次推了推。它奏效了。

现在,主人(最重要的一个。为什么有两个?)带有一个标题2 ahead。这究竟是什么意思?它前面是什么?

Git - SourceTree screenshot

更新

git status给了我:

JustMe@IMRAY ~/Projects/BlaBlaUser/gitPractice (master)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean

2 个答案:

答案 0 :(得分:25)

基本上,您需要再次push到您的远程分支,以摆脱2 ahead

主服务器(顶部的那个)是您的本地跟踪分支,origin/master是一个远程跟踪分支,它记录您上一个push,{{1}的远程存储库的状态},或pullfetch指的是您的远程存储库,origin是该存储库的当前分支(也是默认的)。

所以从本质上说,它表示你的分支(master)在两次提交之前位于远程主分支(master)之前,这就是为什么我说你需要{{1再次。

当你在当地做origin/master时,应该会给你更多关于要做什么的线索。

答案 1 :(得分:3)

这意味着您有尚未推送到该遥控器的本地提交。

例如:

* (master) Fix bar
* Fix foo
* (origin/master) Add bar
* Add foo

(较新的提交位于顶部)

您在此处看到origin/mastermaster后面的两个提交。

您可以使用git push origin mastermaster分支推送到origin