Работа с конфиденциальными данными (Git LFS)
Узнайте о Git LFS (хранилище больших файлов) для управления большими файлами и предотвращения прямой фиксации конфиденциальных данных.
«Работа с конфиденциальными данными (Git LFS)» — бесплатный урок Git & GitHub Professional Workflow на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Git & GitHub Professional Workflow, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Git & GitHub Professional Workflow содержит 4 уроков всего.
Git и проблема больших файлов
Вам когда-нибудь приходилось фиксировать в Git огромный файл? Например, большое изображение, видео или объёмный набор данных?
Git предназначен для текстового кода, в котором изменения обычно невелики. При добавлении больших двоичных файлов репозиторий быстро разрастается, а клонирование и операции замедляются. То же может произойти с конфиденциальными данными, если не соблюдать осторожность.
Почему большие файлы раздувают репозитории
Git хранит каждую версию каждого файла в своей истории. Для текстовых файлов Git эффективно сохраняет различия между версиями.
Однако для больших двоичных файлов (например, файла Photoshop размером 50 МБ или скомпилированного исполняемого файла) даже небольшое изменение означает, что Git сохранит новый файл целиком размером 50 МБ. Со временем это делает репозиторий огромным и медленным.
Знакомство с Git LFS
Для решения этой проблемы был создан Git Large File Storage (LFS). LFS — это расширение Git с открытым исходным кодом, которое эффективнее обрабатывает большие файлы.
Оно заменяет большие файлы в репозитории Git небольшими файлами-указателями, а сами большие файлы хранит на удалённом сервере LFS.
Как работает Git LFS
При фиксации файла, отслеживаемого LFS:
- Git фиксирует небольшой файл-указатель (текстовый файл со ссылкой на большой файл).
- Сам большой файл отправляется на сервер Git LFS (часто размещённый на GitHub, GitLab или Bitbucket).
Когда кто-то клонирует репозиторий или получает изменения, Git загружает указатель, а затем LFS получает настоящий файл.
Установка Git LFS
Перед использованием LFS необходимо установить его. Если Вы работаете в macOS или Windows, обычно можно установить его с помощью менеджера пакетов (например, Homebrew) или специального установщика.
После установки выполните git lfs install один раз в системе, чтобы настроить перехватчики LFS.
git lfs installОтслеживание файлов с помощью LFS
После установки LFS укажите Git, какие типы файлов нужно отслеживать, с помощью команды git lfs track. Эта команда добавляет запись в файл .gitattributes.
Например, чтобы отслеживать все файлы .psd (Photoshop):
git lfs track "*.psd"Фиксация файлов, отслеживаемых LFS
После выполнения git lfs track обязательно зафиксируйте сам файл .gitattributes. Затем добавляйте и фиксируйте большие файлы как обычно.
Теперь Git будет хранить в репозитории небольшой файл-указатель для файлов .psd.
git add .gitattributes
git add my_large_image.psd
git commit -m "Add large PSD file with LFS"Отправка файлов LFS
Когда Вы отправляете изменения в удалённый репозиторий, Git LFS автоматически обрабатывает большие файлы. Он загружает сами большие файлы на сервер LFS, связанный с Вашим удалённым репозиторием.
Процесс проходит незаметно, как при обычной команде git push.
git push origin mainПросмотр состояния LFS
С помощью команды git lfs ls-files можно посмотреть, какие файлы в данный момент отслеживаются Git LFS в Вашем репозитории.
Это помогает убедиться, что большие файлы правильно обрабатываются LFS.
git lfs ls-filesПроверка преимуществ LFS
Какое из перечисленных утверждений описывает основное преимущество использования Git LFS?
Итоги: возможности Git LFS
Вы узнали, как Git LFS помогает управлять большими файлами в репозиториях. Храня указатели в Git, а сами файлы — на сервере LFS, он предотвращает разрастание репозитория и повышает производительность.
Помните: для больших двоичных файлов всегда используйте git lfs track и фиксируйте файл .gitattributes.
Часто задаваемые вопросы
Урок «Работа с конфиденциальными данными (Git LFS)» бесплатный?
Да — полный текст урока «Работа с конфиденциальными данными (Git LFS)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Git & GitHub Professional Workflow, подпишись на CoddyKit PRO. Курс Git & GitHub Professional Workflow содержит 4 уроков всего.
Чему я научусь в уроке «Работа с конфиденциальными данными (Git LFS)»?
Узнайте о Git LFS (хранилище больших файлов) для управления большими файлами и предотвращения прямой фиксации конфиденциальных данных. Ты практикуешь Git & GitHub Professional Workflow с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Git & GitHub Professional Workflow?
Предыдущий опыт не требуется. Git & GitHub Professional Workflow на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Работа с конфиденциальными данными (Git LFS)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Git & GitHub Professional Workflow?
Да. Каждый урок Git & GitHub Professional Workflow включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Защита рабочего процесса Git
- Работа с конфиденциальными данными (Git LFS)
- Лучшие практики для сообщений фиксаций
- Подписание коммитов и тегов с помощью GPG