我想恢复从 Bitbucket 上的远程共享存储库中删除的分支。 我知道
reflog
是使用本地存储库的方法。
我如何在远程实现这一目标?
我遇到这个答案是因为我通过 bitbucket.org UI 删除了团队成员想要恢复的分支。
我发现
git branch --remote
显示了origin上的所有分支,甚至是通过UI删除的分支。
我使用
git checkout origin/<branch_name> -b <branch_name>
在本地检查了原始分支,然后执行了 git push -u origin <branch_name>
,它再次出现在 UI 中。
reflog
仍然是答案,只是您无权访问远程(Bitbucket)端的 reflog
。
这意味着您需要写信给 Bitbucket 支持,以便他们恢复您需要的内容。
是的,这个方法完全有效。但我建议先检查此命令,然后再继续使用其他两个命令来恢复分支:
git branch --remote
如果您的分支显示在上述命令输出的列表中,请放心地执行以下操作:
git checkout origin/<branch_name> -b <branch_name>
git push -u origin <branch_name>
我不小心删除了BitBucket Cloud中的一个分支。
我很失望 BitBucket 没有将其保留为“已删除”分支(回收站样式)。
嗯,显然他们确实是这么做的;他们只是不从他们的网站上显示已删除的分支。
修复:
1.) 改变一些无害的东西。
(就像在文件中添加空格一样,您知道它会被忽略。)
2.) 然后从本地计算机签入并推送分支。
(最好是从上次签入已删除分支的位置)。
令我惊讶的是,它毫无问题地工作,并且分支恢复了,就像什么也没发生一样。
边注:
奇怪的是,为了合并代码我必须获得其他人的许可,
但删除代码不需要监督(至少我们的组织是这样建立的)。
仍然完全是我搞混了我的分支的错。
为我们处理的每个小问题创建分支对我来说都是新的并且很痛苦,但我明白为什么。
我的同事说她要等到我们去释放才清理枯死的树枝。
吸取教训。