一个心怀不满的开发人员离开了一个项目,破坏了git存储库,现在我已经被带上了。我不确定她到底做了什么,但事实如下:
当我在本地签出项目时,它不会提取除上一次提交之外的任何历史记录,这只是一个空白的自述文件:
$ git log
commit 4cbfb43f76a41df6de6f66354566377c2ef2ab0d
Author: Author
Date: Sun Sep 1 20:39:47 2013 +0300
initial
我无法重新绑定,因为我的本地repo不知道使用SHA的提交,因为只有这一个提交来自github。我想要的历史似乎是孤儿。
有没有办法直接从github(origin)通过SHA检查其他提交,然后将头指向那个?
还有其他想法吗?
答案 0 :(得分:0)
你应该能够做一个git merge <SHA>
,因为糟糕的开发者做了一次改变,会抱怨,但鉴于她只是重新定位到最初的提交,听起来解决冲突会相对容易。
如果您的本地存储库不知道提交 - 但是远程存储库知道 - 然后尝试创建远程存储库的新克隆,并查看您正在寻找的提交是否存在。据我所知,如果提交远程存在,并且克隆存储库,您应该能够访问该提交。
答案 1 :(得分:0)
我最后从github上的最后一个好的提交下载了repo的zip,然后添加并将所有文件提交给sabotaged repo。我丢失了之前的所有提交历史记录,但至少现在有一份工作回购。