Rumah >alat pembangunan >git >Contoh terperinci git init dan klon git untuk mendapatkan gudang git
Artikel ini membawa anda pengetahuan yang berkaitan tentang Git, yang terutamanya memperkenalkan isu berkaitan git init dan git clone untuk mendapatkan git warehouse, termasuk git clone daripada pangkalan data storan Git sedia ada Klonkan warehouse kepada a direktori tempatan dan kandungan lain yang berkaitan, saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: "Tutorial Git"
Biasanya Terdapat dua cara untuk mendapatkan repositori git:
Tukar direktori tempatan yang tidak berada di bawah kawalan versi kepada repositori Git; >Dari pelayan lain Klonkan repositori Git yang sedia ada; mencipta pangkalan data repositori Git kosong pada asasnya akan mencipta fail
,. Fail HEAD awal juga dibuat yang merujuk kepada HEAD cawangan induk.
Jika pembolehubah persekitarangit init [-q | --quiet] [--bare] [--template=<template_directory>] [--separate-git-dir <git dir>] [--shared[=<permissions>]] [directory]Ia selamat untuk dijalankan
dalam repositori Git sedia ada, ia tidak akan menimpa perkara sedia ada. Sebab utama untuk menjalankan semula .git
adalah untuk mendapatkan templat yang baru ditambah (atau dalam kes pilihan objects
, untuk mengalihkan repositori Git ke tempat lain). refs/heads
refs/tags
$GIT_DIR
./.git
Hanya cetak mesej ralat dan mesej amaran; objects
$GIT_OBJECT_DIRECTORY
$GIT_DIR/objects
git init
digunakan untuk menyalin fail dalam folder templat ke pangkalan data storan git init
apabila kami memulakan repositori Git Jika tidak dinyatakan, lalai What is yang disalin ialah templat di bawah laluan --separate-git-dir
, yang merangkumi kandungan berikut:
[-q, --quite]
, [--bare]
.git
Secara lalai [--template=<template_directory>]
.git
fail secara setempat. Fail ini menerangkan lokasi khusus pangkalan data storan Git gudang semasa , dan Paut ke masa lalu secara automatik. /usr/share/git-core/templates
$ ls /usr/share/git-core/templates/ branches description hooks info
--template=<DIR>
kebenaran. Jika anda berminat, anda boleh $GIT_TEMPLATE_DIR
menyemak penggunaan khusus pilihan ini. init.templateDir
[--separate-git-dir <git dir>]
Jika pilihan ini ditentukan, perintah git init
.git
.git
.git
[--shared[=<permissions>]]
Selepas pengklonan selesai, perintah group
tanpa parameter juga akan menggabungkan cawangan induk jauh ke dalam cawangan semasa. git init --help
Konfigurasi lalai ini dicapai dengan membuat rujukan kepada kepala cawangan jauh di bawah [directory]
. [--template=<template_directory>]
git init
相关选项获取此选项作用。[-l, --local]
refs
,HEAD
等信息到克隆的Git存储数据库,并将.git/objects
通过硬链接形式链接到本地Git存储库以节约本地空间。-l
选项但[url]
是本地路径则还是会默认进行-l
选项的行为,但是如果指定的是--no-local
选项对本地仓库进行克隆则会走默认的git clone
流程:[-s, --shared]
.git/objects
的对象通过硬链接的方式链接到本地的克隆仓库,使用此选项不会再硬链接.git/objects
目录,而是在本地的.git/objects/info
目录中创建一个alternates
文件并在其中描述objects
原先的位置并进行共享使用。git commit
内部可能自动调用git gc --atuo
)删除的,从而导致仓库被破坏。-s
选项克隆的存储库中运行git repack
时,如果没有指定--local,-l
选项,则会将源存储库中的objects
复制到克隆存储库中的一个包里面,从而消除了--shared
选项带来的共享效果和节省的空间。直接运行git gc
是安全的,因为默认使用的--local,-l
选项。-s
选项指定的仓库中打破对共享的依赖,则可以使用git repack -a
命令将源存储库中的所有对象复制到克隆的存储库的一个包中。[--no-hardlinks]
.git/objects
中的内容而不是使用硬链接的形式,在进行Git存储库备份时这个选项就很有用。[-q, --quite]
[-n, --no-checkout]
[--bare]
<directory>/.git
目录也不会将管理文件放到<directory>/.git
中,而是为自己创建一个<directory>
或者<directory>.git
目录,里面保存的就是实际的Git数据库。这个选项也默认是--no-checkout
的,不会检出任何HEAD,也不会自动跟踪任何远程分支,也不会创建相关的配置变量。[--mirror]
--bare
,对比--bare
,--mirror
不仅仅映射源的本地分支到目标的本地分支,它还映射所有引用(包括远程跟踪分支,笔记等),并设置refspec配置,以便所有这些引用都被目标存储库中的git远程更新覆盖。--bare
和--mirror
都是针对服务器使用,因为服务器只需要保存Git存储数据库而不需要实际操作git命令,所以当你在这两个选项创建的存储库执行Git命令会得到下面的打印:fatal: this operation must be run in a work tree
[-o <name>, --origin <name>]
<name>
来跟踪远程仓库。[-b <name>, --branch <name>]
<name>
分支。[-u <upload-pack>, --upload-pack <upload-pack>]
/usr/bin/git-upload-pack
,当服务器的git运行时会自动找到此路径的程序。[--reference[-if-able] <repository>]
.git/objects/info/alternates
akan disediakan secara automatik untuk mengambil objects
daripada repositori sumber rujukan Menggunakan repositori Git sedia ada sebagai alternatif akan memerlukan lebih sedikit objects
s repositori sumber, dengan itu mengurangkan kos storan rangkaian dan tempatan. Apabila menggunakan --reference-if-able
, direktori yang tidak sedia ada dilangkau dan amaran dikeluarkan dan bukannya membatalkan pengklonan. [--dissociate]
--reference
daripada repositori Git yang dirujuk oleh objects
hanya mengurangkan pemindahan rangkaian dan berhenti selepas pengklonan dengan membuat salinan tempatan yang diperlukan objects
Pinjam objek daripada perpustakaan rujukan. Apabila klon tempatan sudah meminjam objects
daripada repositori lain, pilihan ini boleh digunakan untuk menghentikan repositori baharu daripada meminjam objects
daripada repositori yang sama. Pilihan ini juga digunakan terutamanya untuk pelayan Git. [--separate-git-dir <git dir>]
git init
pilihan berkaitan untuk mendapatkan kesan pilihan ini. [--depth <depth>]
<depth>
, dan dapatkan komit teratas semua cawangan dan kemudian klon bilangan komit <depth>
tempatan. Jika anda juga ingin mengklon submodul, anda juga boleh lulus pilihan --shallow-submodules
. [--[no-]single-branch]
--single-branch
hanya akan mengklon cawangan tertentu dalam repositori Git Cawangan lain dalam repositori Git jauh tidak akan diklon secara setempat atau dijejaki secara setempat hanya akan menjejaki satu cawangan jauh. [--no-tags]
remote.<remote>.tarOpt=--no-tags
dalam konfigurasi untuk memastikan bahawa git pull
dan git fetch
berikutnya tidak akan beroperasi pada teg melainkan Label dikendalikan secara eksplisit. --single-branch
untuk mengekalkan satu cawangan, berguna apabila hanya mengekalkan cawangan lalai tertentu. [--recurse-submodules[=<pathspec>]]
<pathspec>
yang disediakan, jika tiada <pathspec>
dinyatakan maka semua submodul dimulakan dan diklon. Pilihan ini boleh diberikan beberapa kali untuk <parhspec>
dengan berbilang entri. git submodule update --init --recursive <pathspec>
. [--[no-]shallow-submodules]
[--[no-]remote-submodules]
--remote
kepada git submodule update
. [-j <n>, --jobs <n>]
submodule.fetchJobs
. [--sparse]
[--]
<repository>
https
protokol atau ssh
protokol atau git
protokol, dsb. [<directory>]
-v, --verbose
[-c <key>=<value>, --config <key>=<value]
Kajian yang disyorkan: " Tutorial Git》
Atas ialah kandungan terperinci Contoh terperinci git init dan klon git untuk mendapatkan gudang git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!