git lfs 迁移后损坏的 git repo

Cer*_*rzi 1 git git-lfs

git lfs migrate 的不当使用——一切以某种方式生成了一个 .gitattributes 文件,其中包含每个已知的文件类型。这基本上破坏了我们的项目,因为每种类型的所有文件现在看起来都像这样:

    version https://git-lfs.github.com/spec/v1
    oid sha256:f6d1237f5b00a49b32cca659d9764fc16cf012ea887c3007bf9a2120d7e9fef4
    size 792
Run Code Online (Sandbox Code Playgroud)

..贯穿整个回购历史。包含目录的文件大小仍然大致相同,这让我希望有一种方法可以恢复它,但我自己无法解决。

由于异常情况,这个 repo 还没有在 github 上 - 如果需要,我们可以恢复到 repo 的副本,但这意味着失去几天的工作。

有没有办法撤销lfs命令?

这就是 .gitattributes 文件最终以某种方式生成的方式:

*.wav filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.collabignore filter=lfs diff=lfs merge=lfs -text
*.gitignore filter=lfs diff=lfs merge=lfs -text
*.xml filter=lfs diff=lfs merge=lfs -text
*.iml filter=lfs diff=lfs merge=lfs -text
*.meta filter=lfs diff=lfs merge=lfs -text
*.mat filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.prefab filter=lfs diff=lfs merge=lfs -text
*.shader filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.FBX filter=lfs diff=lfs merge=lfs -text
*.tif filter=lfs diff=lfs merge=lfs -text
*.txt filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.cs filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
*.dll filter=lfs diff=lfs merge=lfs -text
*.mixer filter=lfs diff=lfs merge=lfs -text
*.compute filter=lfs diff=lfs merge=lfs -text
*.asset filter=lfs diff=lfs merge=lfs -text
*.cginc filter=lfs diff=lfs merge=lfs -text
*.unity filter=lfs diff=lfs merge=lfs -text
*.controller filter=lfs diff=lfs merge=lfs -text
*.mask filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.blend1 filter=lfs diff=lfs merge=lfs -text
*.anim filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.renderTexture filter=lfs diff=lfs merge=lfs -text
*.json filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.TTF filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.asd filter=lfs diff=lfs merge=lfs -text
*.PSD filter=lfs diff=lfs merge=lfs -text
*.sfk filter=lfs diff=lfs merge=lfs -text
*.PNG filter=lfs diff=lfs merge=lfs -text
*.terrainlayer filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.inputactions filter=lfs diff=lfs merge=lfs -text
*.lighting filter=lfs diff=lfs merge=lfs -text
Run Code Online (Sandbox Code Playgroud)

Cer*_*rzi 6

仍然不完全确定这是如何发生的,但只是通过运行来修复它 git lfs checkout

把这个留在这里,因为其他人在谷歌上搜索只是想出了一堆未解决的线程

  • 你拯救了我的项目! (3认同)
  • 谢谢你,这正是为我解决这个问题所需要运行的命令。显然,如果没有至少发生一次 git 紧急情况,我的项目就不是完整的......逐步了解我的案例中发生的情况:1)尝试将超过 100mb 的“.asset”文件上传到 git 时出现 git 错误 2)决定解决这个问题的方法是使用 `git lfs migrate import --include="*.asset"` 3) 所有 .asset 文件现在都更改为第一个代码块的格式 4) 惊慌失措 5) 使用 `git lfs checkout` 6) 开香槟,问题已解决。非常感谢。 (2认同)