繁体   English   中英

GIT 不会从远程拉取最新更改

[英]GIT won't pull latest changes from remote

不知何故,我的本地分支比我的远程分支晚了 8 个月。

当我执行git pull origin [my branch name]它说Already up to date

我尝试了git fetch origin [my branch name]然后git reset --hard FETCH_HEAD在这里找到)但我的本地副本仍然指向超级旧的提交。

我还尝试通过使用git checkout 1d5d525在这里找到)重置为特定文件,但它说: error: pathspec '1d5d525' did not match any file(s) known to git. 但是该提交在远程分支中是 100% 的,因为我可以在 BitBucket 中看到它。

我唯一能想到的是我做了什么不同的事情是昨天我在一台不同的机器上工作(我的 OSX 笔记本电脑,而不是我的 Win10 台式机),但这并不能解释为什么它落后 8 个月。

如果有大师能给我一些指导,那就太棒了。

注意:我可以从我的笔记本电脑提交更多更改,它们会显示在我的 BitBucket 分支上,但仍然没有运气。

注意:如果信息很重要,我是唯一在这个分支上工作的人。

谢谢!

编辑:

这是git branch -vvgit remote - v根据要求的输出。

$ git branch -vv
ImageEdit 39b733c Image editing tweaks
Widgets   cce09e8 Merge Globals + Widgets to use the same functionality / DB table
* john      11798f3 [origin/john] Finished PDF Header. Waiting for feedback...
master    cce09e8 Merge Globals + Widgets to use the same functionality / DB table

$ git remote - v
origin  git@bitbucket.org:johnt/website.git (fetch)
origin  git@bitbucket.org:johnt/website.git (push)

注意:我会指出,根据上述提交消息,主分支似乎也远远落后于远程分支。

编辑2:

这是git branch -a -vv的输出

$ git branch -a -vv
ImageEdit                39b733c Image editing tweaks
Widgets                  cce09e8 Merge Globals + Widgets to use the same functionality / DB table
* john                   11798f3 [origin/john] Finished PDF Header. Waaiting for feedback...
master                   cce09e8 Merge Globals + Widgets to use the same functionality / DB table
remotes/origin/ImageEdit 39b733c Image editing tweaks
remotes/origin/Widgets   cce09e8 Merge Globals + Widgets to use the same functionality / DB table
remotes/origin/glenn     0548f0d Changed Create a Lifeshare Page to Create a Lifeshare
remotes/origin/john      11798f3 Finished PDF Header. Waiting for feedback...
remotes/origin/master    cce09e8 Merge Globals + Widgets to use the same functionality / DB table

不确定这是否是正确的礼仪,但即使 @VonC 和 @AnimiVulpis 我们提供帮助,我也能够解决自己的问题。

使用git branch -a -vv显示本地和远程分支都指向同一个提交,但是那个提交是错误的(那个提交是 8 个月前的)。

我将存储库克隆到一个新文件夹中,登录到 Bitbucket 以获取最新的提交哈希并使用git reset --hard [commit hash]将 HEAD 指向正确的提交。

现在一切似乎都运行良好(虽然在不同的目录中,哈哈)。 我不确定远程分支如何最终指向该提交,但很高兴问题得到解决。

感谢@VonC 和@AnimiVulpis 抽出时间提供帮助。

从您的输出中,本地分支和远程跟踪分支引用相同的提交,因此是最新的。

尝试git fetch确认:它将更新所有分支的远程跟踪分支。
然后git branch -avv将显示是否有任何区别。

并且git branch -f mybranch origin/mybranch (或git checkout -B mybranch origin/mybranch )足以重置它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM