Rumah  >  Artikel  >  alat pembangunan  >  Bagaimana untuk menangani fail git yang terlalu besar

Bagaimana untuk menangani fail git yang terlalu besar

WBOY
WBOYasal
2023-05-17 09:57:362935semak imbas

Apabila menggunakan Git untuk kawalan versi fail, kadangkala anda mungkin menghadapi fail yang terlalu besar. Apabila fail terlalu besar, ia boleh menyebabkan masalah seperti kelajuan pelaksanaan Git yang lebih perlahan, penggunaan memori yang meningkat, atau bahkan kegagalan muat naik penyerahan Git. Artikel ini akan memperkenalkan beberapa cara untuk menangani fail Git yang terlalu besar.

1. Menggunakan Git LFS

Git Large File Storage (Git LFS for short) ialah lanjutan Git, yang direka khas untuk mengendalikan fail besar. Dengan Git LFS, Git tidak lagi menyimpan fail dalam repositori, sebaliknya memautkan fail ke repositori tertentu. Kaedah ini boleh mengelakkan perpustakaan versi yang terlalu besar disebabkan oleh terlalu banyak fail besar, dengan itu meningkatkan prestasi operasi Git.

Berikut memperkenalkan cara menggunakan Git LFS:

  1. Gunakan Homebrew untuk memasang alat git-lfs pada Mac:

brew install git-lfs

  1. Laksanakan arahan git lfs install untuk mengkonfigurasi Git LFS:

git lfs install

  1. Gunakannya dalam gudang Git yang perlu diuruskan oleh arahan jejak Git LFS git lfs untuk menentukan jenis fail besar yang perlu diuruskan. Sebagai contoh, arahan berikut akan menyerahkan fail imej dengan sambungan png kepada Git LFS untuk pengurusan.

git lfs track "*.png"

  1. Untuk melakukan perubahan pada Git, gunakan arahan git lfs push untuk memuat naik fail besar yang diuruskan dalam Git LFS.

git lfs push origin master

  1. Akhir sekali, gunakan arahan git lfs fetch dalam Git untuk memuat turun fail yang diuruskan dalam Git LFS kepada setempat.

2. Gunakan Git Annex

Git Annex ialah sambungan lain Git dan juga digunakan untuk mengurus fail besar. Tetapi tidak seperti Git LFS, Git Annex tidak akan menggantikan pengurusan fail Git yang asal, tetapi akan berfungsi sebagai tambahan kepada pengurusan fail Git. Fail besar yang diuruskan oleh Git Annex tidak dimuat turun ke repositori Git tempatan Sebaliknya, ia disimpan pada cakera setempat dan penunjuk ke fail besar disimpan dalam repositori Git.

Begini cara menggunakan Git Annex:

  1. Gunakan Homebrew untuk memasang alat git-annex pada Mac:

brew install git-annex

  1. Inisialisasikan dalam repositori Git yang perlu diurus menggunakan Git Annex:

git annex init

  1. Tambahkan fail yang perlu diurus ke Git Annex:

git annex add large_file.mp4

  1. Serahkan fail ke Git Repository:

git commit -m "add large_file.mp4"

  1. Apabila anda perlu memuat turun fail, gunakan arahan git annex get:

git annex get large_file.mp4

3 . Gunakan Pustaka versi termampat pek semula Git

Selain menggunakan alat seperti Git LFS dan Git Annex untuk menguruskan fail besar, kami juga boleh cuba menggunakan alat pembungkus semula Git sendiri untuk memampatkan repositori untuk mengurangkan saiz repositori. Perkara berikut menerangkan cara menggunakan alat repack:

  1. Laksanakan arahan berikut dalam Git:

git repack

  1. Jika anda mahu memampatkan fail sejarah, anda boleh melaksanakannya seperti ini:

git repack -a -d

  1. Ini akan menjana fail pek serba baharu dan semua objek yang tidak dimampatkan akan dibungkus semula Dan secara automatik mengeluarkan fail pendua, dengan itu mengurangkan saiz fail sejarah. Jika anda perlu memuat naik fail pek termampat ke pelayan Git, anda boleh menggunakan arahan berikut:

git gc

4 Gunakan Git BFG

Git BFG ialah Git Short for Backup Filter, ia adalah alat Git yang mudah dan berguna. Ia berdasarkan alat Git rasmi dan boleh membantu pengguna Git mengurus perpustakaan kawalan versi Git dengan lebih baik. Menggunakan Git BFG boleh membantu anda memadam beberapa fail dan rekod sejarah yang tidak berguna dalam repositori kawalan versi Git dengan lebih mudah. Berikut ialah pengenalan kepada cara menggunakan Git BFG.

  1. Gunakan Homebrew pada Mac untuk memasang Git BFG secara setempat:

brew install bfg

  1. Gunakan dalam repositori Gitbfg arahan untuk memadam fail yang tidak diingini. Beri perhatian untuk menggantikan file-to-remove dengan nama fail yang perlu dipadamkan Kad bebas juga disokong:

bfg --delete-files-to-remove

    Laksanakan arahan berikut untuk memadam Fail dalam repositori dikosongkan secara kekal daripada sejarah. Langkah ini akan merekodkan fail yang mengandungi "'file-to-remove'" dalam sejarah supaya ia boleh dipadamkan sepenuhnya:
git reflog expire --expire=now --all && git gc - -prune=now --agressive

    Akhir sekali gunakan arahan berikut untuk menyegerakkan cawangan tempatan dan cawangan terpencil:
git push origin --force

Rumusan :

Untuk masalah fail Git yang terlalu besar, kita boleh menggunakan pelbagai kaedah pemprosesan seperti Git LFS, Git Annex, Git repack dan Git BFG. Alat ini semua akan membantu kita, kita hanya perlu memilih mengikut situasi dan keperluan sebenar. Jika anda sering menghadapi masalah fail Git yang terlalu besar, kami mengesyorkan anda mencuba kaedah yang diterangkan di atas.

Atas ialah kandungan terperinci Bagaimana untuk menangani fail git yang terlalu besar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn