Peta dunia

 

EN: Read in English

Dunia 10: Git Mendalam

Packfile, gc dan maintenance

Anda akan belajar: cara Git kekalkan sejarah besar supaya kecil dan laju, kebanyakannya sendiri.

Teks BM belum disemak oleh penutur asli.

Masalahnya

Projek anda ada 10,000 commit (titik simpan). Setiap satu buat objek baru. Adakah .git kini bersepah dengan fail kecil?

Pilih satu jawapan.

Tengok

Git mampatkan banyak objek ke dalam satu packfile: Satu fail yang simpan banyak objek, dimampatkan bersama. Versi yang hampir sama disimpan sebagai beza kecil.. Ketik setiap langkah untuk tengok caranya.

Ketik setiap titik pada garis masa.

Teka

Satu fail besar ada 10 versi. Setiap versi ubah satu baris. Dalam packfile, apa yang guna ruang?

Pilih satu jawapan.

Tengok

bash
git gc
git count-objects -vH
Dua arahan: git gc, kemudian git count-objects -vH.

git gc ialah kutipan sampah (gc) (garbage collection (gc)): Git mengemas: padatkan objek dan buang objek yang tiada siapa boleh capai. (garbage collection). Ia padatkan objek dan buang sampah yang tiada siapa boleh capai. git count-objects -vH tunjuk saiznya. Git juga mengemas sedikit sendiri.

Cuba

gc cuma buang objek yang tiada apa-apa boleh capai. Yang mana ia simpan?

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Tengok

      bash
      git maintenance start
      Satu arahan: git maintenance start.

      Repo besar yang anda guna setiap hari? git maintenance start kemaskannya di belakang tabir. Komputer anda jalankan kerja itu ikut jadual.

      Semak

      Tabiat baik, atau perlu dibaiki? Leret setiap satu.

      Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

      1 / 4

      Biar Git padatkan objek untuk anda

      Biar Git padatkan objek untuk anda

      Anda berjaya!

      Kini anda boleh terangkan packfile dan biar Git mengemas untuk anda.

      Nak tahu lebih (pilihan)

      Packfile tinggal dalam .git/objects/pack. git gc --prune=now buang objek yang tak boleh dicapai serta-merta, tanpa tempoh tangguh. git maintenance stop matikan kerja di belakang tabir. git maintenance run --task=gc jalankan satu kerja sekarang. Git 3.0 buang arahan lama git pack-redundant.