git - 恢复远程 Git 分支

标签 git github

在我继续之前,让我解释一下为什么我们不能做:

git checkout -b <branch> <sha>

基本上分支(我们称之为 dev1)在另一个开发者的机器上。他已经完成了一些提交并将它们推高了。这个分支是从另一个分支(我们可以称之为 Features)分支出来的,该分支被重命名为 developmentdevelopment 被创建为 Features 的一个分支,然后 features 被删除了。 开发人员的分支 (dev1) 随后被其他开发人员在本地和远程删除。在使用 github for windows 时,他发现我们要求推送的所有分支,因此他删除了整个文件夹(跳过了回收站)并重新克隆了 repo。 所以现在他不能做:

git reflog

因为它没有任何历史。我看不到他的提交,因为它们从未在本地 pull 到我的机器上。

那么,考虑到这一点,有没有办法远程恢复他的 dev1 分支? 我一直在寻找一个命令来显示所有已删除的远程分支,但到目前为止,一直无法找到这样的命令。

任何帮助都将避免数周的开发工作!

最佳答案

您可以使用 GitHub Events API查看在过去 90 天内为用户或存储库发生的最后 300 个事件(每页分页 30 个事件)。您可以在那里搜索该分支上的最后一个推送事件,从而获得您需要重新实例化为分支的 SHA-1。

E. G。在这里你可以看到我最近的事件:https://api.github.com/users/Vampire/events , https://api.github.com/users/Vampire/events?page=2 , 一种。秒。 o.

或者这里是存储库 vivin/gradle-semantic-build-versioning 的事件:https://api.github.com/repos/vivin/gradle-semantic-build-versioning/events , https://api.github.com/repos/vivin/gradle-semantic-build-versioning/events?page=2 , 一种。秒。 o.

关于git - 恢复远程 Git 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39372980/

相关文章:

git - 暂时对远程存储库使用不同的协议(protocol)

github - 从文件创建 Github Actions 选择输入选项

github - 安装 feathers-rest/client 时无法确定主机 github.com 192.30.253.112 的真实性

git - 无法从Dockerfile中的克隆存储库中复制文件

regex - git 提交中的 SLOC

git - 为什么我们永远不要对已推送的提交使用rebase

Git 孤儿分支 "This branch is 1 commit ahead, n commits behind master"

git - (还有一个)修改 git 历史以添加第一次提交

git - git 如何知道要使用哪个 ssh key 进行操作?

git - git + ssh>远程空,树和非裸机