从github恢复git提交历史记录

时间:2013-09-03 16:22:33

标签: git github

一个心怀不满的开发人员离开了一个项目,破坏了git存储库,现在我已经被带上了。我不确定她到底做了什么,但事实如下:

  • 之前在github中有一个完整的提交历史记录,我知道我希望提交当前头部的提交的SHA
  • 我只能使用github网址中的SHA来查看此提交:https://github.com/ [USER] / [Project] / tree / d5f7068fcef33791418e3e1d2b954162403e7c8b
  • 当我在本地签出项目时,它不会提取除上一次提交之外的任何历史记录,这只是一个空白的自述文件:

    $ git log
    commit 4cbfb43f76a41df6de6f66354566377c2ef2ab0d
    Author: Author
    Date:   Sun Sep 1 20:39:47 2013 +0300
    
        initial
    

我无法重新绑定,因为我的本地repo不知道使用SHA的提交,因为只有这一个提交来自github。我想要的历史似乎是孤儿。

有没有办法直接从github(origin)通过SHA检查其他提交,然后将头指向那个?

还有其他想法吗?

2 个答案:

答案 0 :(得分:0)

你应该能够做一个git merge <SHA>,因为糟糕的开发者做了一次改变,会抱怨,但鉴于她只是重新定位到最初的提交,听起来解决冲突会相对容易。

如果您的本地存储库不知道提交 - 但是远程存储库知道 - 然后尝试创建远程存储库的新克隆,并查看您正在寻找的提交是否存在。据我所知,如果提交远程存在,并且克隆存储库,您应该能够访问该提交。

答案 1 :(得分:0)

我最后从github上的最后一个好的提交下载了repo的zip,然后添加并将所有文件提交给sabotaged repo。我丢失了之前的所有提交历史记录,但至少现在有一份工作回购。

相关问题