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
(found here) 但我的本地副本仍然指向超旧提交。
我也尝试通过使用 git checkout 1d5d525
(found here) 重置为特定的但它说: error: pathspec '1d5d525' did not match any file(s) known to git.
但是远程分支中的提交是 100% 因为我可以在 BitBucket 中查看。
我能想到的唯一不同之处在于昨天我在另一台机器上工作(我的 OSX 笔记本电脑,而不是我的 Win10 台式机)但这并不能解释为什么晚了 8 个月。
如果有大师能给我一些指导,那就太棒了。
注意:我可以从我的笔记本电脑上提交更多更改,它们会出现在我在 BitBucket 中的分支上,但还是不行。
注意:如果信息很重要,我是唯一在此分支机构工作的人。
谢谢!
编辑:
这是 git branch -vv
和 git 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
根据您的输出,本地分支和远程跟踪分支引用相同的提交,因此是最新的。
尝试git fetch
确认:它将更新所有分支的远程跟踪分支。
然后git branch -avv
会显示是否有任何差异。
git branch -f mybranch origin/mybranch
(或git checkout -B mybranch origin/mybranch
)就足以重置它。
不确定这是否是正确的礼仪,但即使@VonC 和@AnimiVulpis 我们帮忙,我还是能够解决自己的问题。
使用 git branch -a -vv
显示本地和远程分支都指向同一个提交,但该提交是错误的(该提交是 8 个月前的)。
我将存储库克隆到一个新文件夹中,登录到 Bitbucket 以获取最新的提交哈希并使用 git reset --hard [commit hash]
将 HEAD 指向正确的提交。
现在一切似乎都工作正常(虽然在不同的目录中大声笑)。我不确定远程分支如何最终指向该提交,但很高兴问题得到解决。
感谢@VonC 和@AnimiVulpis 花时间提供帮助。
不知何故,我的本地分支比我的远程分支滞后了 8 个月。
当我执行 git pull origin [my branch name]
时,它显示 Already up to date
。
我尝试了 git fetch origin [my branch name]
然后 git reset --hard FETCH_HEAD
(found here) 但我的本地副本仍然指向超旧提交。
我也尝试通过使用 git checkout 1d5d525
(found here) 重置为特定的但它说: error: pathspec '1d5d525' did not match any file(s) known to git.
但是远程分支中的提交是 100% 因为我可以在 BitBucket 中查看。
我能想到的唯一不同之处在于昨天我在另一台机器上工作(我的 OSX 笔记本电脑,而不是我的 Win10 台式机)但这并不能解释为什么晚了 8 个月。
如果有大师能给我一些指导,那就太棒了。
注意:我可以从我的笔记本电脑上提交更多更改,它们会出现在我在 BitBucket 中的分支上,但还是不行。
注意:如果信息很重要,我是唯一在此分支机构工作的人。
谢谢!
编辑:
这是 git branch -vv
和 git 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
根据您的输出,本地分支和远程跟踪分支引用相同的提交,因此是最新的。
尝试git fetch
确认:它将更新所有分支的远程跟踪分支。
然后git branch -avv
会显示是否有任何差异。
git branch -f mybranch origin/mybranch
(或git checkout -B mybranch origin/mybranch
)就足以重置它。
不确定这是否是正确的礼仪,但即使@VonC 和@AnimiVulpis 我们帮忙,我还是能够解决自己的问题。
使用 git branch -a -vv
显示本地和远程分支都指向同一个提交,但该提交是错误的(该提交是 8 个月前的)。
我将存储库克隆到一个新文件夹中,登录到 Bitbucket 以获取最新的提交哈希并使用 git reset --hard [commit hash]
将 HEAD 指向正确的提交。
现在一切似乎都工作正常(虽然在不同的目录中大声笑)。我不确定远程分支如何最终指向该提交,但很高兴问题得到解决。
感谢@VonC 和@AnimiVulpis 花时间提供帮助。