我对 git 有点陌生,但我从他们的网站上阅读了 Git 书。所以我开始使用一个安装在我的服务器上的 GitLab。
我之前在 SVN 上工作,所以第一次提交是 SVN 的导出。我的朋友也在从事同一个项目(他的名字叫 Lucas)。
我创建了一个分支origin/dev以使origin/master完全稳定,然后在 /dev 上进行开发。我还创建了一个我正在研究的分支feature258 。当我尝试在合并我的强大功能之前拉取源/开发以获取更改时,我有这个:
$ git pull origin dev
fatal: object 18c29b4c26d7b0d34719d10ada6901c6024f91e6 is corrupted
fatal: The remote end hung up unexpectedly
看来18c29b4对象是粉红色的提交(cf ScreenShot),它只修改了一点 .gitignore 文件
我跑了git fsck --full但我得到的线索对我没有帮助:
$ git fsck --full
dangling blob 0c87d2eb401651ec3045eb0248d54ed546206dbe
dangling blob 1cd17aadc009ba9d39d1137533d65107ca54da95
blob 0c 和 1c 只是我在上次提交 feature_258 时修改的一个文件。
我在 Google 上搜索了 3 个多小时,发现 Linus Torvalds 方法和其他 StackOverflow 帖子,但没有找到好的解决方案。
如果它可以拯救我,也许我可以在 BAD 提交之前重新建立分支并重新做我的工作(我保存在另一个目录中以确保)