我想恢复我们在Bitbucket上共享的远程代码库中被删除的一个分支。我知道在本地代码库中可以使用reflog
实现。
那么,在远程代码库中,我该如何操作呢?
四年后...
我遇到了这个答案,因为我在bitbucket.org的用户界面中删除了一个团队成员想要恢复的分支。
我发现git branch --remote
会显示所有在origin上的分支,即使是通过UI删除的分支也一样。
我使用git checkout origin/<branch_name> -b <branch_name>
将origin分支本地检出,然后执行git push -u origin <branch_name>
,它就再次出现在UI中了。
git checkout <branch name>
然后执行git push -u origin HEAD
而无需创建新的分支或其他任何内容。对于所有其他情况,VonC的想法是正确的。 - C0D3LIC1OU5reflog
仍然是答案,只是您无法访问远程(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.) 然后从本地机器检入并推送该分支。
(最好是从删除分支的最后一次检入的地方)。
令我惊讶的是,它毫无问题地工作了,分支就像什么都没有发生过一样恢复了。
附注:
奇怪的是,为了合并代码,我必须得到其他人的许可,
但删除代码不需要监督(至少我们的组织是这样设置的)。
但对于混淆我的分支完全是我的错。
为我们处理的每个小问题创建分支对我来说是新的和痛苦的,但我明白为什么要这样做。
我的同事说她会等到我们发布之前清理任何死分支。
吸取教训。