0

我做了一个git fetch origin master然后git pull origin master在这两个命令之后当我做一个git status我得到:

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
#
nothing to commit, working directory clean

发现这个奇怪(因为我现在我的本地落后了origin/master)我再次将存储库克隆到其他位置并正确获取它,所以远程 repo 是可以的。首先执行git fetch命令我用在线存储库更新了我的本地源/主库,对吗?比git pull应该再次获取然后合并但我想它没有,不知道为什么。谁能解释一下?

谢谢!

[编辑]
我更加困惑。现在我正在使用我的原始机器并且刚刚完成了git pull origin master. 令我惊讶的是,同样的事情又发生了。我使用了git reflog --all建议,而我在另一台机器上所做的一次提交没有显示。这个提交看起来好像我已经在这台机器上提交了(所以ahead of ...再次显示消息)。Down 跟随刚刚发生的事情,从终端窗口复制/粘贴(只是省略了一些个人信息)。

user@user:~/my_project$ git pull origin master
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From my_git_site:my_repo
 * branch            master     -> FETCH_HEAD
Updating some_bizarre_number
Fast-forward
 main.py |   18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
user@user:~/my_project$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
4

2 回答 2

2

该消息意味着您的本地 master 中有五个提交尚未推送到 origin/master。拉取会将您的提交与来自 origin/master 的新提交合并,并在本地提交结果,显然没有冲突,或者它会要求您解决它们。

如果您查看本地修订历史记录,您将看到您的提交和远程提交以及将它们合并在一起并且是您当前的 HEAD 的新提交。

于 2013-02-08T14:55:37.310 回答
0

试试 git reflog --all 看看你最近的 5 次提交是什么。也许这会澄清这些提交的来源。

于 2013-02-08T19:03:12.590 回答