πŸ“¦ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git LFS для управлСния большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git LFS, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

  1. УстановитС Git LFS Π½Π° Π²Π°ΡˆΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ инструкции для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ОБ:
    • Для Windows: Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ исполняСмый Ρ„Π°ΠΉΠ» установщика Git LFS с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта Git ΠΈ запуститС Π΅Π³ΠΎ. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям мастСра установки.
    • Для macOS: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Homebrew ΠΈΠ»ΠΈ MacPorts для установки Git LFS. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Terminal ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
    • brew install git-lfs
    • Для Linux: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
    • curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
      sudo apt-get install git-lfs
  2. ПослС установки Git LFS, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ рСпозитория, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Git LFS.
  3. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
  4. git lfs install
  5. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git LFS, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
  6. git lfs track "ΠΏΡƒΡ‚ΡŒ/ΠΊ/Ρ„Π°ΠΉΠ»Ρƒ"

    Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ "ΠΏΡƒΡ‚ΡŒ/ΠΊ/Ρ„Π°ΠΉΠ»Ρƒ" Π½Π° ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git LFS.

    НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .jpg, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

    git lfs track "*.jpg"
  7. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ для отслСТивания с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git LFS, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
  8. git add .gitattributes
  9. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с вашим Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, ΠΈ Git LFS Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ большиС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git LFS

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git Large File Storage (LFS). Git LFS прСдставляСт собой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Git, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт эффСктивно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ изобраТСния, Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Π°ΡƒΠ΄ΠΈΠΎ.

Π¨Π°Π³ 1: Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ установка Git LFS

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом являСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ установка Git LFS Π½Π° Π²Π°ΡˆΡƒ систСму. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах:

Windows

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Π΅Π±-сайт Git LFS ΠΏΠΎ адрСсу https://git-lfs.github.com/.
  2. НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ "Download" для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ исполняСмого Ρ„Π°ΠΉΠ»Π° установщика Git LFS.
  3. ЗапуститС установщик ΠΈ слСдуйтС инструкциям Π½Π° экранС для установки Git LFS.

macOS

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Terminal).
  2. УстановитС Homebrew, Ссли Ρƒ вас Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π΅Ρ‚. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. УстановитС Git LFS с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Homebrew ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
brew install git-lfs

Linux

ΠœΠ΅Ρ‚ΠΎΠ΄ установки Git LFS Π² Linux зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ дистрибутива, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git LFS ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs

Π¨Π°Π³ 2: Настройка Git LFS для рСпозитория

ПослС установки Git LFS Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ для вашСго рСпозитория.

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Terminal) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ вашСго рСпозитория.
  2. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Git LFS Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
git lfs install

ПослС этого Git LFS Π±ΡƒΠ΄Π΅Ρ‚ настроСн для вашСго рСпозитория, ΠΈ Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для управлСния большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

Шаг 3: ИспользованиС Git LFS

Git LFS прСдоставляСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

  • git lfs track <pattern> - ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Git LFS ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.
  • git lfs untrack <pattern> - пСрСстаСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.
  • git lfs pull - Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ большиС Ρ„Π°ΠΉΠ»Ρ‹ с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория.
  • git lfs push - отправляСт измСнСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Git LFS

Допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с изобраТСниями, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git LFS для ΠΈΡ… управлСния.

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ рСпозитория Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ (Terminal).
  2. УстановитС шаблон отслСТивания Git LFS для ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
git lfs track "*.png"
  1. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ изобраТСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add:
git add image.png
  1. Π—Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΡŒΡ‚Π΅ измСнСния ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git commit:
git commit -m "Add image with Git LFS"
  1. ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ измСнСния Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git push:
git push

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Git LFS Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для управлСния вашими изобраТСниями Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git LFS ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для управлСния большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Git.

Git LFS прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Git, позволяя эффСктивно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ…. НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git LFS Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

How To Install and Use Git LFS to Version Control Large File Projects Files

GitHub upload large files | Push your large file to github | git lfs | GeoDev

How To setup Git with Git LFS for Unity

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ“§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ email Π² git: пошаговая инструкция

πŸ“¦ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git LFS для управлСния большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² PyCharm Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»: пошаговая инструкция

πŸ”‘ Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ package.json Π² VS Code? πŸš€ ΠŸΡ€ΠΎΡΡ‚ΠΎ объяснСниС для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ