cari
Rumahalat pembangunangitMenggunakan teknik ini, klon git boleh dipercepatkan berpuluh-puluh kali!

Saya tidak tahu sama ada anda pernah menemui projek yang lebih besar di mana klon git sangat perlahan atau gagal. Bagaimana semua orang akan menghadapinya?

Anda boleh mempertimbangkan untuk menukar sumber muat turun, dan anda boleh cuba meningkatkan kelajuan Internet melalui beberapa cara, tetapi bagaimana jika anda telah mencuba semua ini dan ia masih perlahan?

Saya menghadapi masalah ini hari ini, saya perlu memuat turun kod skrip taip dari gitlab, tetapi kelajuannya sangat perlahan:

git clone https://github.com/microsoft/TypeScript ts

Setelah menunggu lama, muat turun masih tidak. selesai, jadi saya menambah Satu parameter:

git clone https://github.com/microsoft/TypeScript --depth=1 ts

Ini meningkatkan kelajuan berpuluh-puluh kali ganda dan muat turun selesai serta-merta.

Menambah --depth hanya akan memuat turun satu komit, jadi kandungannya lebih kurang dan kelajuannya dipertingkatkan. [Cadangan berkaitan: Tutorial penggunaan Git]

Dan kandungan yang dimuat turun boleh terus menyerahkan komitmen baharu dan mencipta cawangan baharu. Ia tidak menjejaskan perkembangan seterusnya, tetapi anda tidak boleh bertukar kepada komitmen sejarah dan cabang sejarah.

Saya mengujinya dengan salah satu projek saya mula-mula memuat turun komit:

Menggunakan teknik ini, klon git boleh dipercepatkan berpuluh-puluh kali!

dan kemudian membuat beberapa perubahan, kemudian git add, commit, push, Boleh diserahkan seperti biasa:

Menggunakan teknik ini, klon git boleh dipercepatkan berpuluh-puluh kali!

Menggunakan teknik ini, klon git boleh dipercepatkan berpuluh-puluh kali!

Mencipta cawangan baharu juga boleh diserahkan seperti biasa. Satu-satunya kelemahan ialah anda tidak boleh beralih kepada komitmen sejarah dan cabang sejarah.

Ia agak berguna dalam beberapa senario: apabila anda perlu beralih kepada cabang sejarah, anda juga boleh mengira bilangan komitmen yang diperlukan, dan kemudian menentukan kedalaman, yang juga boleh meningkatkan kelajuan.

Pernahkah anda terfikir tentang sebab mengapa ini berkesan?

Prinsip Git

Git menyimpan maklumat melalui beberapa objek:

  • kandungan fail storan objek glob
  • laluan fail storan objek pokok
  • menyimpan objek komit menyimpan maklumat, dan pepohon yang berkaitan
mengambil komit sebagai entri, dan semua pepohon serta gumpalan yang berkaitan ialah kandungan komit ini.

Menggunakan teknik ini, klon git boleh dipercepatkan berpuluh-puluh kali!

Komit adalah berkaitan antara satu sama lain, dan kepala, cawangan, tag, dll. adalah penunjuk kepada komitmen tertentu. Boleh dilihat di bawah .git/refs. Dengan cara ini, konsep seperti cawangan dan teg dilaksanakan berdasarkan komit.

Git melaksanakan pengurusan versi dan fungsi penukaran cawangan melalui ketiga-tiga objek ini. Semua objek boleh dilihat di bawah .git/objects.

Beginilah cara git berfungsi.

Terutamanya memahami tiga objek gumpalan, pokok dan komit, serta rujukan seperti kepala, tag, cawangan dan jauh.

Prinsip untuk dapat memuat turun satu komit

Kami tahu bahawa git mengaitkan semua objek melalui komit tertentu sebagai titik masuk, jadi jika kita tidak memerlukan sejarah, kita boleh secara semula jadi muat turun hanya satu komit.

Menggunakan teknik ini, klon git boleh dipercepatkan berpuluh-puluh kali!

Dengan cara ini, komit baharu masih dibuat berdasarkan komit itu, dan gumpalan, pokok, dll. baharu dikaitkan. Walau bagaimanapun, komitmen sejarah, pokok dan gumpalan tidak boleh ditukar kembali kerana ia belum dimuat turun, begitu juga teg, cawangan dan penunjuk lain yang sepadan. Beginilah cara kami memuat turun satu komit tetapi masih boleh membuat cawangan baharu, komit, dsb.

Ringkasan

Apabila menghadapi projek git yang besar, anda boleh meningkatkan kelajuan dengan menambahkan parameter --depth Semakin banyak komitmen sejarah, semakin besar peningkatan kelajuan muat turun.

Dan projek yang dimuat turun masih boleh dibangunkan untuk pembangunan seterusnya, dan komitmen baharu, cawangan baharu dan teg boleh dibuat, tetapi anda tidak boleh bertukar kepada komitmen, cawangan dan teg sejarah.

Kami telah menyusun prinsip git: menyimpan fail dan maklumat penyerahan melalui tiga objek: pokok, gumpalan dan komit, dan melaksanakan fungsi seperti cawangan dan teg melalui perkaitan antara komit. Komit ialah titik masuk, dikaitkan dengan semua pokok dan gumpalan.

Apabila kami memuat turun komit, kami memuat turun semua pokok yang berkaitan, gumpalan dan beberapa rujukan (termasuk teg, dahan, dll. Ini ialah prinsip --depth).

Saya harap anda boleh menggunakan teknik ini untuk meningkatkan kelajuan klon git projek besar tanpa beralih kepada komitmen dan cabang sejarah.

Atas ialah kandungan terperinci Menggunakan teknik ini, klon git boleh dipercepatkan berpuluh-puluh kali!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:juejin. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Github dalam Tindakan: Contoh dan Kes GunakanGithub dalam Tindakan: Contoh dan Kes GunakanApr 12, 2025 am 12:16 AM

GitHub adalah alat yang berkuasa untuk meningkatkan kecekapan dan kualiti pembangunan perisian. 1) Kawalan versi: Menguruskan perubahan kod melalui Git. 2) PullRequests: Melakukan semakan kod dan meningkatkan kualiti kod. 3) Isu: Bug trek dan kemajuan projek. 4) GitHubactions: Automatikkan proses pembinaan, ujian dan penempatan.

Git vs Github: Kawalan Versi dan Kod HostingGit vs Github: Kawalan Versi dan Kod HostingApr 11, 2025 am 11:33 AM

Git adalah sistem kawalan versi, dan GitHub adalah platform hosting kod berasaskan Git. Git digunakan untuk menguruskan versi kod dan menyokong operasi tempatan; Github menyediakan alat kerjasama dalam talian seperti Penjejakan Isu dan PullRequest.

Apakah git dengan kata -kata mudah?Apakah git dengan kata -kata mudah?Apr 09, 2025 am 12:12 AM

GIT adalah sistem kawalan versi yang diedarkan sumber terbuka yang membantu pemaju menjejaki perubahan fail, bekerjasama dan menguruskan versi kod. Fungsi terasnya termasuk: 1) pengubahsuaian kod rekod, 2) sandaran kepada versi terdahulu, 3) pembangunan kerjasama, dan 4) membuat dan menguruskan cawangan untuk pembangunan selari.

Adakah git sama dengan GitHub?Adakah git sama dengan GitHub?Apr 08, 2025 am 12:13 AM

Git dan GitHub bukan perkara yang sama. Git adalah sistem kawalan versi, dan GitHub adalah platform hosting kod berasaskan Git. Git digunakan untuk menguruskan versi kod, dan GitHub menyediakan persekitaran kerjasama dalam talian.

Bagaimana cara menggunakan github untuk html?Bagaimana cara menggunakan github untuk html?Apr 07, 2025 am 12:13 AM

Alasan untuk menggunakan GitHub untuk menguruskan projek HTML ialah ia menyediakan platform untuk kawalan versi, pembangunan kerjasama dan pembentangan kerja. Langkah -langkah khusus termasuk: 1. Di samping itu, GitHub juga menyokong kajian semula kod, isu dan ciri PullRequest untuk membantu mengoptimumkan dan bekerjasama dalam projek HTML.

Sekiranya saya mulakan dengan git atau github?Sekiranya saya mulakan dengan git atau github?Apr 06, 2025 am 12:09 AM

Bermula dari Git lebih sesuai untuk pemahaman yang mendalam tentang prinsip kawalan versi, dan bermula dari GitHub lebih sesuai untuk memberi tumpuan kepada kerjasama dan hosting kod. 1.GIT adalah sistem kawalan versi yang diedarkan yang membantu menguruskan sejarah versi kod. 2. GitHub adalah platform dalam talian berdasarkan Git, menyediakan keupayaan hosting dan keupayaan kolaborasi.

Adakah Microsoft memiliki git atau github?Adakah Microsoft memiliki git atau github?Apr 05, 2025 am 12:20 AM

Microsoft tidak memiliki Git, tetapi memiliki GitHub. 1.GIT adalah sistem kawalan versi yang diedarkan oleh Linus Torvaz pada tahun 2005. 2. GitHub adalah platform hosting kod dalam talian berdasarkan Git. Ia ditubuhkan pada tahun 2008 dan diperoleh oleh Microsoft pada tahun 2018.

Sekiranya saya meletakkan git atau github pada resume saya?Sekiranya saya meletakkan git atau github pada resume saya?Apr 04, 2025 am 12:04 AM

Pada resume anda, anda harus memilih untuk menulis git atau github berdasarkan keperluan kedudukan anda dan pengalaman peribadi. 1. Jika kedudukan memerlukan kemahiran git, sorot git. 2. Jika kedudukan nilai penyertaan komuniti, tunjukkan GitHub. 3. Pastikan untuk menerangkan pengalaman penggunaan dan kes -kes projek secara terperinci dan berakhir dengan ayat lengkap.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan