Git LFS отказывался отслеживать мои большие файлы должным образом, пока я не сделал следующее
Задача
У меня были проблемы с использованием git LFS, несмотря на множество предложений здесь по SO, по документации Git и GitHub, а также по некоторым Gists, с которыми я столкнулся.
Моя проблема заключалась в следующем:
После выполнения необходимых действий:
git lfs install
git lfs track "<file of interest>"
git commit
У меня все равно не было бы отслеживаемых файлов. Если бы я выполнил
git lfs ls-files
Она будет пустой. Если бы я пошел вперед и выполнил толчок, транзакция потерпела бы неудачу, сказав, что файлы слишком велики. (Как и ожидалось, но я был в отчаянии.)
2 ответа:
Мой (Оригинальный Плакат) "Решение"
Затем я обнаружил несколько исправлений, некоторые из которых, похоже, были ошибками, некоторые из которых просто не были очевидны для меня.
Похоже, что для использования
lfs
ссуществующим репозиторием , необходим Хак или сторонний инструмент, такой какконвертер BFG .
- я не хотел идти этим путем, поэтому я просто инициализировал новый репозиторий локально, а затем сделал вызов подключения его обратно к настоящему РЕПО.
- я создал новый каталог, затем
git init
и т. д.В моем случае удаленным хранилищем был GitHub. Поэтому я делал все эти правильные перепихоны, такие как
git remote add origin git@github.com:<my_id>/<my_repo>.git
Также, хотя обучающее видео Git утверждает, что вы можете просто указать папку, такую как
"my_folder/"
, я не смог заставить это работать. Поэтому я просто ловко использовал Расширения имен файлов для управления вещами.
- например,
git lfs track "my_folder/"
не будет работать для меня, ноgit lfs track "*.zip"
работал.Мне не удалось правильно идентифицировать файлы LFS, если я не обновил файл сначала, а затем зафиксировал и отправил этот новый файл на удаленный сервер .
git lfs track "*.zip"
git add .gitattributes
git commit -m "Updated the attributes"
git push
git add my_large_file.zip
git lfs ls-files
- и здесь я бы гарантировал, что видел
my_large_file.zip
бытие гусеничный.git commit -m "Now I am adding the large file"
git push
Возможно, что некоторые вещи работают, и я просто делал их неправильно. Однако, следуя описанному выше колдовству, наконец-то заработал LFS, поэтому я подумал, что передам эти детали другим, на случай, если у кого-то еще будет такая же проблема.