git lfs migrate import, кажется, не заботится о моих .gitattributes - PullRequest
0 голосов
/ 01 октября 2019

У меня большие проблемы с попыткой исправить репозиторий, который был инициализирован без некоторых типов файлов lfs в его .gitattributes, таких как wav, exr или psd.

Мой подход состоял в том, чтобы сначала добавить ихв файл .gitattributes, как те, которые были правильно зарегистрированы.

*. psd filter = lfs diff = lfs merge = lfs -text

Затем удалите их изкэшировать, ставить их, фиксировать.

$> git rm --cached -r .
$> git add --all
$> git commit -m "Added a lot of file types as large files"

Запуск git status после постановки отлично показывает мне все и только файлы, новые для gitattributes. Кажется идеальным.

Но теперь мне нужно переписать мою историю для всех моих ветвей, я верю. Наиболее распространенным способом является использование git lfs migrate. Итак:

$> git lfs migrate info --everything
migrate: Sorting commits: ..., done
migrate: Examining commits: 100% (299/299), done
*.tga       206 MB    48/48 files(s)    100%
*.exr       108 MB  248/248 files(s)    100%
...Some more

$> git lfs migrate import --everything

И здесь все разваливается. Все мои большие файлы в порядке, я могу открывать и редактировать их, но все мои ДРУГИЕ файлы (не зарегистрированные в .gitattributes) теперь указатели! Даже мои файлы .cs и .gitignore являются указателями, и git lfs ls-files теперь показывает мне каждый файл моего репо ... И я имею в виду, если я дважды щелкаю по своему .gitignore, я теперь вижу что-то вроде

версия lol: //lol.lol.com/lol/v1
oid sha256: 4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
размер 12345

1027

1027 *1027* 1027gitattributes? И почему в любом случае указатели размещаются на локальной копии репо?

Примечание

Я читал о --include="*.exr", но большинство примеров использования, которые я нашел в Интернете, не подходят для включения каких-либо включений,Я был бы удивлен, если бы у большинства людей, использующих lfs, не было скриптов и только большие файлы. Но дайте мне знать, если это единственный способ.

Спасибо!

...