我试图通过使用SourceTree作为工具来学习git。
我将本地存储库添加到BitBucket存储库,然后在本地进行了一些更改。我犯了他们,然后推了他们。 然后我登录BitBucket并手动更改文档的一部分(项目"添加4")。 然后我回到我的本地副本并再次更改并承诺。当我试图推它时,它告诉我,我首先必须拉动并合并。所以我做到了。
然后我再次推了推。它奏效了。现在,主人(最重要的一个。为什么有两个?)带有一个标题2 ahead
。这究竟是什么意思?它前面是什么?
更新
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
答案 0 :(得分:25)
基本上,您需要再次push
到您的远程分支,以摆脱2 ahead
。
主服务器(顶部的那个)是您的本地跟踪分支,origin/master
是一个远程跟踪分支,它记录您上一个push
,{{1}的远程存储库的状态},或pull
。 fetch
指的是您的远程存储库,origin
是该存储库的当前分支(也是默认的)。
所以从本质上说,它表示你的分支(master
)在两次提交之前位于远程主分支(master
)之前,这就是为什么我说你需要{{1再次。
当你在当地做origin/master
时,应该会给你更多关于要做什么的线索。
答案 1 :(得分:3)
这意味着您有尚未推送到该遥控器的本地提交。
例如:
* (master) Fix bar
* Fix foo
* (origin/master) Add bar
* Add foo
(较新的提交位于顶部)
您在此处看到origin/master
是master
后面的两个提交。
您可以使用git push origin master
将master
分支推送到origin
。