-l–local
クローン元のリポジトリがローカルマシン上にある場合、このフラグは通常の”Git aware”トランスポートメカニズムをバイパスし、headとオブジェクトとrefsディレクトリの下にあるすべてのコピーを作成することによってリポジトリをクローンします。.git/objects/
ディレクトリの下のファイルは、可能な場合はスペースを節約するためにハードリンクされています。リポジトリがローカルパスとして指定されている場合(例えば、/path/to/repo
)、これはデフォルトであり、–localは本質的にno-opです。, TherepositoryがURLとして指定されている場合、このフラグは無視されます(そして、ローカル最適化を使用することはありません)。 --no-local
を指定すると、/path/to/repo
が指定された場合、代わりにregularGitトランスポートを使用してデフォルトになります。
–no-hardlinks
localfilesystem上のリポジトリからのクローニングプロセスに、ハードリンクを使用する代わりに、.git/objects
ディレクトリの下のファイルをコピー これは、リポジトリのバックアップを作成しようとしている場合に望ましいかもしれません。,
-s–shared
複製するリポジトリがローカルマシン上にある場合、ハードリンクを使用する代わりに、.git/objects/info/alternates
オブジェクトをソースリポジトリと共 結果のrepositorystartsは、独自のオブジェクトなしで起動します。
注意:これはおそらく危険な操作です。 このオプションを使用してyourrepositoryをクローンし、ソースリポジトリ内のブランチを削除する(または既存のコミットを参照させない他のGitコマンドを使用する),これらのオブジェクトは、自動的に呼び出す通常のGit操作(git commit
など)によって削除される可能性がありますgit maintenance run --auto
。 (シージット-メンテナンス. これらのオブジェクトが削除され、複製されたリポジトリによって参照された場合、複製されたリポジトリは破損します。
git repack
--local
--shared
でリポジトリサイクロン化されたリポジトリでclone --shared
なしで--local
オプションを実行すると、ソースリポジトリから複製されたリポジトリ内のパックにオブジェクトがコピーされ、clone --shared
のディスク領域の節約が取り除かれることに注意してください。,ただし、git gc
を実行しても安全です。--local
オプションbydefault。
--shared
onitsソースリポジトリで複製されたリポジトリの依存関係を解除する場合は、git repack -a
を実行して、ソースリポジトリから複製されたリポジトリのパックにallobjectsをコピーすることができます。,
–reference<repository>
リファレンスリポジトリがローカルマシン上にある場合、.git/objects/info/alternates
リファレンスリポジトリからオブジェクトを 代替として既存のリポジトリを使用すると、複製されたリポジトリからコピーされるオブジェクトが少なくなり、ネットワークおよびローカルストレージ--reference-if-able
を使用すると、クローンを中止する代わりに、存在しないディレクトリがスキップされ、警告が表示されます。,注:--shared
オプションおよび--dissociate
オプションについては、メモを参照してください。
–dissociate
--reference
networktransferを減らすためだけにオプションを指定した参照リポジトリからオブジェクトを借り、借りたオブジェクトの必要なローカルコピーを作成した後、それらからの借用を停止します。, Thisoptionは、すでに別のrepositoryからオブジェクトを借りているarepositoryからローカルに複製するときにも使用できます—新しいリポジトリは同じリポジトリからオブジェクトを借ります。
-q–quiet
静かに動作します。 進捗はstandarderrorストリームに報告されません。
-v–verbose
冗長に実行します。 標準エラーストリームに対する進捗状況報告には影響しません。,
–progress
--quiet
が指定されていない限り、端末に接続されている場合、標準エラー streambyデフォルトで進捗ステータスが報告されます。 このフラグは、標準エラーストリームが端末に向けられていない場合でも、進行状態を強制します。
–server-option=<option>
protocolバージョン2を使用して通信するときに、指定された文字列をサーバーに送信します。 指定された文字列には、NULまたはLFcharacterを含めることはできません。 知られていないものを含むサーバーオプションのサーバーの処理は、サーバー固有です。,複数の--server-option=<option>
が指定されている場合、それらはすべてコマンドラインに記載されている順序で反対側に送信されます。
-n–no-checkout
クローンが完了した後、HEADのチェックアウトは実行されません。
–bare
裸のGitリポジトリを作成します。 つまり、<directory>
を作成し、administrativefilesを<directory>/.git
に配置する代わりに、<directory>
自体を$GIT_DIR
にします。 これは明らかに--no-checkout
作業ツリーをチェックアウトする場所がないためです。,また、リモートのブランチヘッドは、refs/remotes/origin/
にマッピングせずに、対応するローカルブランチヘッドに直接コピーされます。 このオプションを使用すると、リモートトラッキングブランチもrelatedconfiguration変数も作成されません。
–sparse
sparse-checkoutファイルを初期化して、workingdirectoryがリポジトリのルート内のファイルのみで開始されるようにします。 Sparse-checkoutファイルは、必要に応じて作業ディレクトリを拡張するように変更できます。,
–filter=<filter-spec>
部分クローン機能を使用し、サーバーが指定されたオブジェクトフィルタに従って到達可能なオブジェクトのサブセットを送信するよう--filter
を使用する場合、提供された<filter-spec>
が部分クローンフィルタに使用されます。 たとえば、--filter=blob:none
は、Gitが必要になるまですべてのblob(ファイルの内容)を除外します。 また、--filter=blob:limit=<size>
サイズ最小のすべてのblobを除外します<size>
。, フィルター仕様の詳細については、git-rev-listの--filter
オプションを参照してください。
–mirror
ソースリポジトリのミラーをセットアップします。 これは、--bare
を意味します。--bare
と比較して、--mirror
は、ソースのローカルブランチをターゲットのローカルブランチにマップするだけでなく、すべての参照(remote-trackingブランチ、ノートなどを含む)をマップします。 これらのすべての参照がターゲットリポジトリ内のgit remote update
によって上書きされるようなrefspec設定を設定します。,
-o <name> –origin <name>
Instead of using the remote name origin
to keep track of the upstreamrepository, use <name>
. Overrides clone.defaultRemoteName
from theconfig.,
-b<name>–branch<name>
新しく作成されたHEADを複製されたリポジトリのHEADによって指されるブランチに向ける代わりに、<name>
ブランチ-インステッド 非ベアリポジトリでは、これはチェックアウトされるブランチです。--branch
タグを取得し、結果のリポジトリでそのコミットでHEADをデタッチすることもできます。,
-u<upload-pack>–upload-pack<upload-pack>
クローンを作成するリポジトリがsshでアクセスされている場合、もう一方の端のcommandrunのデフォルト以外のパスを指定します。
–template=<template_directory>
テンプレートが使用されるディレクトリを指定します。(git-initの”テンプレートディレクトリ”セクションを参照してください。,)
-c<キー>=<値>–config<キー>=<value>
新しく作成されたリポジトリに構成変数を設定します。 キーは期待される形式と同じですgit-config(例えば、)。, 同じキーに対してmultiplevaluesが与えられた場合、各値は設定ファイルに書き込まれます。 これにより、たとえば、origin remoteにaddadditional fetch refspecを追加することが安全になります。
現在の実装の制限により、一部のconfigurationvariablesは最初のfetchおよびcheckoutの後まで有効になりません。有効にならないことが知られている構成変数は、remote.<name>.mirror
およびremote.<name>.tagOpt
です。 代わりに、--mirror
および--no-tags
オプションを使用します。,
–depth<depth>
指定されたコミット数に切り捨てられた履歴を持つ浅いクローンを作成します。 Implies--single-branch
--no-single-branch
がすべての分岐の先端付近の履歴を取得するために与えられていない限り、--single-branch
を意味します。 サブモジュールを浅く複製したい場合は、--shallow-submodules
も渡します。
–shallow-since=<date>
指定した時間以降に履歴を持つ浅いクローンを作成します。,
–shallow-exclude=<revision>
指定されたリモートブランチまたはタグからcommitsreachableを除いて、履歴を持つ浅いクローンを作成します。 このオプションは複数回指定できます。
–single-branch
--branch
オプションまたはprimarybranchリモートのHEAD
ポイントで指定された、単一の分岐の先端につながる履歴のみをクローンします。結果のリポジトリへのさらなるフェッチは、このオプションが初期クローニングに使用されたブランチのtheremote-trackingブランチのみを更新します。, --single-branch
クローンが作成されたときに、リモートのHEADがanybranchを指していなかった場合、remote-trackingbranchは作成されません。
–no-tags
を--single-branch
と組み合わせて使用すると、単一のclonedbranch以外の参照のないブランチを複製およびメインテインすることができます。 これは便利などの維持に極小クローンのdefaultbranchのリポジトリのための検索.
–recurse-submodules
クローンが作成された後、指定されたpathspecに基づいてサブモジュールを初期化およびクローンします。, Pathspecが提供されていない場合、すべてのサブモジュールが初期化され、複製されます。このオプションは、複数のエントリで構成されるpathspecに対して複数回指定できます。 結果のクローンには、submodule.active
が指定されたpathspecまたは”に設定されています。”(すべてのサブモジュールを意味します)nopathspecが提供されている場合。
サブモジュールは、デフォルト設定を使用して初期化および複製されます。 これは、クローンが終了した直後にgit submodule update --init --recursive <pathspec>
を実行するのと同等です。 このオプションは、複製されたリポジトリにworktree/checkoutがない場合は無視されます(つまり, --no-checkout
/-n
、--bare
、または--mirror
のいずれかが与えられた場合)
–shallow-submodules
複製されるすべてのサブモジュールは、深さ1
–remote-submodules
複製されたすべてのサブモジュールは、superprojectの記録されたSHA-1ではなく、サブモジュールのremote-trackingブランチのステータスを使用してサブモジュールを更新します。 --remote
をgit submodule update
に渡すのと同じです。,
–separate-git-dir=<git dir>
複製されたリポジトリを配置する代わりに、指定されたディレクトリに複製されたリポジトリを配置し、そこにファイルシステムに依存しないGitシンボリックリンクを作成します。その結果、Gitリポジトリはworkingtreeから分離することができます。
-j<n>–jobs<n>
同時にフェッチされたサブモジュールの数。デフォルトはsubmodule.fetchJobs
オプションです。,
<リポジトリ>
クローン元の(おそらくリモートの)リポジトリ。 レポジトリの指定に関する詳細については、以下のgit URLのセクションを参照してください。
<ディレクトリ>
Leave a Reply