抱歉标题可能不够清晰,这是一个奇怪的问题。
我使用git checkout
命令切换到我的“stage”分支,并执行git pull
命令以获取合作伙伴在远程仓库上将最新更改(昨晚推送到“stage”分支)合并到本地“stage”分支。 git log <branch>
显示他昨晚进行的五次提交。
然后我切换到主分支从仓库中拉取它,因为他告诉我他在测试后将这些更改合并到主分支。但是当我执行git checkout stage
返回到我的“stage”分支时,它会提示我领先于远程分支5个提交。我执行git log origin/stage
命令,它不显示我刚从该仓库中提取的五个提交(这个项目中唯一的远程仓库)。git log stage
命令显示了我本地“stage”分支上的五个提交,因此我不知道远程分支如何在向我提供合作伙伴的最新提交后立即返回到过去。
我对此还比较陌生,请耐心等待我的理解,因为我仍在努力掌握分布式版本控制系统,很有可能我只是对一些基本的东西产生了误解。
git pull
(无参数)或git pull origin
,但不要执行git pull <some url>:<remote ref>
。 - J-16 SDiZgit pull origin <branch>
命令会更新FETCH_HEAD
标签,但不会更新origin/*
分支。 - J-16 SDiZgit diff asdf jkl
命令(其中 asdf 表示最新的 origin commit,jkl 则是新的神秘 commit),却发现根本没有任何区别。所以我使用了git reset --hard asdf
命令,问题貌似得到解决了。 - Buttle Butkus