Bitbucket Cloud的git fetch和git pull不会获取分支上最近的提交记录。

3
我使用Bitbucket cloud创建了一个分支。然后我去我的两台笔记本电脑上运行git fetchgit checkout new-branch。我可以成功看到新的分支。
在A电脑上,我进行了一些更改并提交,然后使用以下命令将它们推送到原始版本库: git add .
git commit -m 'some message'
git push -u origin new-branch
我可以在bitbucket.org上查看提交。
然后当我去B电脑并运行git fetch,它显示已经是最新的。运行git pull,显示已经是最新的。我无法拉取最新提交的内容。
返回到bitbucket.org,提交仍然列在那里。如果我创建一个新分支,然后使用git fetch在B电脑上获取它,在旧的分支上运行git pull,那么现在就能够返回我之前丢失的提交。
有人遇到过这种情况吗?

你能否请发一下你正使用的命令,以便查看可能出了哪些问题? - Dazak
@Dazak 我重新排版了我的帖子以突出命令。如果有其他需要澄清的地方,请告诉我。 - Alex Clark
尝试在笔记本电脑B上运行 git fetch --all,然后运行 git pull origin new-branch - Dazak
我运行了两个命令。git fetch --all 只返回了 fetching origin。然后 git pull origin new-branch 只返回了 Already up to date。当我使用 git branch -avv 再次检查每个分支指向的内容时,它仍然显示旧提交作为远程指向的内容。 - Alex Clark
1个回答

0

看起来你的两个工作目录可能指向不同的远程仓库。在两个目录上运行此命令,并仔细比较输出:

$ git remote -vv

假设它们是相同的,下一步要检查的是每个工作目录上的git status。你的一个工作目录 HEAD 可能处于“奇怪”的状态,git status 可能会告诉你如何解决这个问题(例如,如果你放弃了一个没有运行 git rebase --abort 的变基操作)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接