git Bitbucket未显示最近的提交,但提交仍然存在

fivyi3re  于 2022-12-10  发布在  Git
关注(0)|答案(6)|浏览(217)

我们已经在同一个Bitbucket仓库中工作了将近三年了。我们有一个用于生产的master分支,一个用于测试的develop分支,还有大量的feature分支。今天我想创建一个pull请求来合并到develop中。但在PR视图中,我得到了“[分支]上没有不在开发阶段的提交”的消息,然后在提交概述页面上,有很多提交丢失了。Develop看起来根本没有提交,一些特性分支的提交丢失,而其他分支的所有提交都存在。
管道确实成功地运行了,如果我点击最近一次提交的提交哈希(在管道视图中),它会显示我最近的提交,沿着我之前推送的所有更改。Bitbucket中的源代码也反映了这些更改,而master和develop则没有这些更改(换句话说,肯定有一些提交还没有进入develop)。
最后,git loggit reflog等命令也会显示所有分支的所有更改。
这是目前阻止我们推出相当多的变化,我不能找到任何关于解决方案(或原因,为此事)的任何地方,所以任何帮助将不胜感激。
编辑:我刚刚把另一个分支推到了remote,所有的提交都神奇地重新出现了,包括其他分支的提交。不知道逻辑是什么,但是问题已经自己解决了。

vxqlmq5t

vxqlmq5t1#

刚刚在Bitbucket中遇到了一个类似的问题,最近SVN迁移了一个仓库。我们的主分支的所有提交都显示在git log中,但没有显示在Bitbucket web中。
正如OP所指出的,我们的解决方案是创建一个至少有一个提交的伪分支,然后删除它:

git checkout -b erase-me
touch erase.me
git add erase.me
git commit -am "erase me"
git push -u origin erase-me
git checkout master
git branch -D erase-me
git push origin --delete erase-me

在那之后,神奇的是,所有提交都被正确地列在了Bitbucket中的所有分支中。

pgpifvop

pgpifvop2#

我也遇到了同样的问题,我找到了一个更简单的窍门:

# run the command below:
git commit --amend -a
# this will open your default git editor, just save and exit without any change.
# then run:
git push -f
# this will "refresh" Bitbucket because the commit hash changed

真烦人

u1ehiz5o

u1ehiz5o3#

这里也有同样的问题,只是创建了一个新的分支并将其推送到Bitbucket,所有的提交又出现了。这很烦人,因为缺少提交,我们无法进行拉取请求。

mlnl4t2r

mlnl4t2r4#

我遇到过一个类似的问题,就是我的git config文件中设置的电子邮件地址与Bitbucket中设置的电子邮件地址不匹配。我会运行$ git config -l,并将其与Bitbucket进行比较,以排除这个问题。

jrcvhitl

jrcvhitl5#

1.从bitbucket web中删除分支(远程分支)
1.再次创建同名分支
1.推送您的本地分支
以上步骤解决了我的问题

dohp0rv5

dohp0rv56#

上面的这些都不适合我。它所做的是在Visual Studio上而不是在Bitbucket上查看我缺少的提交和更改(Git -〉管理分支)。然后我可以做进一步的修改,并在稍后将它们推回Bitbucket。顺便说一句,Bitbucket在将文件与其他分支进行比较时仍然继续显示不正确的提交,但单个文件本身在最后一次提交时看起来很好。Visual Studio允许我加载和合并更改,然后我只是确认文件在Bitbucket中看起来不错,一旦它们被推回那里。

相关问题