これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド git-fetch です。
プログラム:
NAME
git-fetch - 別のリポジトリからオブジェクトと参照をダウンロードする
SYNOPSIS
git フェッチ [ ] [ [ ...]]
git フェッチ [ ]
git フェッチ - 多数 [ ] [( | | )...]
git フェッチ - 全て [ ]
DESCRIPTION
XNUMX つ以上の他のリポジトリからブランチおよび/またはタグ (まとめて「参照」) をフェッチします。
歴史を完成させるために必要なオブジェクトとともに。 リモート追跡ブランチは
更新されました (の説明を参照してくださいこの動作を制御する方法については、以下を参照してください)。
デフォルトでは、フェッチされる履歴を指すタグもフェッチされます。 の
興味のあるブランチを指すタグをフェッチする効果があります。このデフォルトは
--tags または --no-tags オプションを使用するか、設定することで動作を変更できます
リモート。 .tagOpt. タグを明示的に取得するrefspecを使用することで、タグを取得できます
興味のあるブランチも指していません。
git フェッチ 単一の名前付きリポジトリまたは URL から、または複数のリポジトリから取得できます。
リポジトリを一度に与えられ、リモコンがあります。 へのエントリー
構成ファイル。 (見る git-config(1))。
リモートが指定されていない場合、デフォルトでは元のリモートが使用されます。
現在のブランチ用に構成された上流ブランチ。
フェッチされた ref の名前と、それらが指しているオブジェクト名は次のとおりです。
.git/FETCH_HEAD に書き込まれます。 この情報は、スクリプトまたは他の git コマンドで使用される場合があります。
など git-プルとします。
OPTIONS
- すべて
すべてのリモコンを取得します。
-a、-append
取得した参照の参照名とオブジェクト名を既存の内容に追加します
.git/FETCH_HEAD. このオプションがないと、.git/FETCH_HEAD の古いデータが上書きされます。
--深さ=
各リモート ブランチの先端から指定された数のコミットにフェッチを制限する
歴史。 フェッチする場合 浅い --depth= を指定して git clone によって作成されたリポジトリ
オプション(を参照) gitクローン(1))、履歴を指定された数まで深める、または短くする
コミットします。 深化されたコミットのタグは取得されません。
--浅くない
ソース リポジトリが完成したら、浅いリポジトリを完全なものに変換します。
浅いリポジトリによって課されるすべての制限を取り除きます。
ソース リポジトリが浅い場合は、現在の
リポジトリには、ソース リポジトリと同じ履歴があります。
--更新浅い
デフォルトでは、浅いリポジトリからフェッチする場合、git fetch は次のような参照を拒否します。
.git/shallow の更新が必要です。 このオプションは .git/shallow を更新し、そのような参照を受け入れます。
-ドライラン
変更を加えることなく、何が行われるかを示します。
-f、-force
日時 git フェッチ で使用されます: refspec の更新を拒否します。
地方支店リモートブランチでない限りそれは子孫です
の. このオプションは、そのチェックをオーバーライドします。
-k、-keep
ダウンロードしたパックを保持します。
- 多数
複数許可と指定する引数。 いいえかもしれない
指定。
-p, --プルーン
取得後、ファイルに存在しなくなったリモート追跡参照をすべて削除します。
リモート。 という理由だけでタグがフェッチされる場合、タグはプルーニングの対象にはなりません。
デフォルトのタグの自動追跡または --tags オプションによる。 ただし、タグが取得された場合
明示的なrefspecに(コマンドラインまたはリモート構成で、
たとえば、リモートが --mirror オプションを使用して複製された場合)、それらも対象になります。
剪定へ。
-n, --タグなし
デフォルトでは、リモート リポジトリからダウンロードされたオブジェクトを指すタグ
取得され、ローカルに保存されます。 このオプションは、この自動タグ フォローを無効にします。 の
リモートのデフォルトの動作は、リモートで指定できます。 .tagOpt 設定。
見る git-configとします。
--refmap=
コマンドラインにリストされた参照を取得するときは、指定された refspec を使用します (
複数回) の値の代わりに、参照をリモート追跡ブランチにマップします。
リモート リポジトリの remote.*.fetch 構成変数。 のセクションを参照してください
詳細については、「構成済みのリモート追跡ブランチ」を参照してください。
-t、--タグ
リモートからすべてのタグをフェッチします (つまり、リモート タグ refs/tags/* をローカル タグにフェッチします)
同じ名前で)、そうでなければフェッチされるものに加えて。 使用する
このオプションだけでは、 --prune が使用されていても、タグはプルーニングの対象になりません (ただし、
タグが明示的な refspec の宛先でもある場合は、いずれにしてもタグを削除できます。 見る
- プルーン).
--recurse-submodules[=はい|オンデマンド|いいえ]
このオプションは、移入されたサブモジュールの新しいコミットの有無と条件を制御します
も取得する必要があります。 完全に無効にするブール値オプションとして使用できます
に設定されている場合の再帰 いいえ または、入力されたすべてのサブモジュールに無条件に再帰する
に設定すると はいこれは、このオプションが値なしで使用された場合のデフォルトです。 使用する
オンデマンド スーパープロジェクトが
まだ存在しないコミットへのサブモジュールの参照を更新する commit
ローカル サブモジュールのクローン。
--no-recurse-submodules
サブモジュールの再帰フェッチを無効にします (これは、
--recurse-submodules=いいえ オプション)。
--submodule-prefix=
プリペンド「サブモジュールをフェッチしています」などの情報メッセージに出力されたパスへ
foo". このオプションは、サブモジュールを再帰するときに内部的に使用されます。
--recurse-submodules-default=[はい|オンデマンド]
このオプションは、非負のデフォルト値を一時的に提供するために内部的に使用されます。
--recurse-submodules オプション。 fetch のサブモジュールを構成する他のすべての方法
再帰 (の設定など gitモジュール(5)と git-config(1)) このオプションをオーバーライドします。
--[no-]recurse-submodules を直接指定する場合と同様です。
-u、--update-head-ok
デフォルトでは git フェッチ 現在のヘッドに対応するヘッドの更新を拒否します
ブランチ。 このフラグはチェックを無効にします。 これは純粋に内部使用のためのものです git プル
と通信する git フェッチ、独自の磁器を実装していない限り、
使用することは想定されていません。
--アップロードパック
指定された場合、取得元のリポジトリはによって処理されます git フェッチパック,
--exec= のデフォルト以外のパスを指定するためにコマンドに渡されます。
反対側でコマンドを実行します。
-q、-quiet
--quiet を git-fetch-pack に渡し、内部で使用されるその他の git コマンドを無音にします。
進行状況は標準エラー ストリームには報告されません。
-v、-verbose
冗長になります。
- 進捗
進行状況は、デフォルトで標準エラー ストリームで報告されます。
-q が指定されていない限り、端末に接続されます。 このフラグは進行状況を強制します
標準エラーストリームが端末に向けられていない場合。
フェッチまたはプル操作のソースである「リモート」リポジトリ。 これ
パラメータは、URL (以下のセクション GIT URL を参照) またはリモートの名前のいずれかです。
(以下の「リモート」セクションを参照してください)。
remotes の値としてリポジトリのリストを参照する名前。 の中に
構成ファイル。 (見る git-config(1))。
取得する参照と更新するローカル参照を指定します。 いいえs
コマンドラインに表示される場合、取得する参照はリモートから読み取られます。 。フェッチ
代わりに変数を使用します (以下の CONFIGURED REMOTE-TRACKING BRANCHES を参照してください)。
のフォーマットパラメータはオプションのプラス + で、その後にソース ref が続きます
、その後にコロン : が続き、その後に宛先参照が続きます. コロンは
省略時空です。
鬼ごっこrefs/tags/ と同じ意味:参照/タグ/ ; フェッチをリクエストします
指定されたタグまでのすべて。
一致するリモート参照がフェッチされた場合、 は空の文字列ではありません。
それに一致するローカル参照は、を使用して早送りされます. オプションのプラス + が
使用すると、早送り更新にならない場合でも、ローカル ref が更新されます。
注意
取得したいリモート ブランチが巻き戻され、リベースされていることがわかっている場合
通常、その新しいティップは以前のティップの子孫ではないことが予想されます
ヒント (最後にフェッチしたときにリモート トラッキング ブランチに保存されたもの)。 君は
+ 記号を使用して、早送り以外の更新が必要であることを示します。
そのような枝のために。 ブランチが次のようになることを決定または宣言する方法はありません。
この動作でリポジトリで利用可能になります。 引っ張るユーザーは単にしなければなりません
これがブランチの予想される使用パターンであることを知っておいてください。
GIT URL
一般に、URL にはトランスポート プロトコル、サーバーのアドレスに関する情報が含まれています。
リモートサーバーとリポジトリへのパス。 トランスポート プロトコルによっては、
この情報は存在しない可能性があります。
Git は、ssh、git、http、および https プロトコルをサポートします (さらに、ftp および ftps も使用できます)
フェッチには rsync を使用し、フェッチとプッシュには rsync を使用できますが、これらは非効率的であり、
廃止されました。 使用しないでください)。
ネイティブ トランスポート (例: git:// URL) は認証を行わないため、一緒に使用する必要があります。
安全でないネットワークには注意してください。
次の構文を一緒に使用できます。
· ssh://[user@]host.xz[:port]/path/to/repo.git/
· git://host.xz[:port]/path/to/repo.git/
· http[s]://host.xz[:port]/path/to/repo.git/
· ftp[s]://host.xz[:port]/path/to/repo.git/
· rsync://host.xz/path/to/repo.git/
代替の scp に似た構文も ssh プロトコルで使用できます。
· [user@]host.xz:path/to/repo.git/
この構文は、最初のコロンの前にスラッシュがない場合にのみ認識されます。 これは役に立ちます
コロンを含むローカル パスを区別します。 たとえば、ローカル パス foo:bar は次のようになります。
SSH URL として誤解されないように、絶対パスまたは ./foo:bar として指定してください。
ssh および git プロトコルは、~username の拡張も追加でサポートします。
· ssh://[user@]host.xz[:port]/~[user]/path/to/repo.git/
· git://host.xz[:port]/~[user]/path/to/repo.git/
· [user@]host.xz:/~[user]/path/to/repo.git/
ローカル リポジトリの場合は、Git によってネイティブにサポートされており、次の構文を使用できます。
中古:
· /path/to/repo.git/
· file:///path/to/repo.git/
これら XNUMX つの構文は、クローン作成の場合を除き、ほとんど同等です。
--local オプション。 見る gitクローン詳細は(1)。
Git は、特定のトランスポート プロトコルの処理方法がわからない場合、
リモート- リモート ヘルパー (存在する場合)。 リモート ヘルパーを明示的にリクエストするには、
次の構文を使用できます。
· ::
どこパス、サーバーとパス、または任意の URL のような文字列を指定できます。
呼び出される特定のリモート ヘルパーによって認識されます。 見る gtremote ヘルパー(1)
詳細。
類似した名前のリモート リポジトリが多数あり、
異なる形式 (使用する URL が次の URL に書き換えられるなど)
work)、次のフォームの構成セクションを作成できます。
[URL " "]
= の代わりに
たとえば、次のようになります。
[URL "git://git.host.xz/"]
代わりに = host.xz:/path/to/
代わりに=仕事:
「work:repo.git」または「host.xz:/path/to/repo.git」のような URL は、任意の形式に書き換えられます。
URL を「git://git.host.xz/repo.git」にするコンテキスト。
URL をプッシュ専用に書き換える場合は、
形:
[URL " "]
プッシュの代わりに =
たとえば、次のようになります。
[URL "ssh://example.org/"]
PushInsteadOf = git://example.org/
「git://example.org/path/to/repo.git」のような URL は次のように書き換えられます。
プッシュの場合は「ssh://example.org/path/to/repo.git」ですが、プルでは引き続き元のものが使用されます
URL。
備考
URL の代わりに次のいずれかの名前を使用できます。 口論:
· Git 構成ファイル内のリモート: $GIT_DIR/config,
· $GIT_DIR/remotes ディレクトリ内のファイル、または
· $GIT_DIR/branches ディレクトリ内のファイル。
これらはすべて、コマンド ラインから refspec を省略することもできます。
git がデフォルトで使用する refspec が含まれています。
名前付き リモート in の監視 file
以前に使用して構成したリモートの名前を指定することもできます。
git-リモート(1) git-config(1) または、$GIT_DIR/config ファイルを手動で編集します。 URL
このリモートのは、リポジトリにアクセスするために使用されます。 このリモコンのrefspecは次のようになります。
コマンドラインで refspec を指定しない場合にデフォルトで使用されます。 のエントリ
設定ファイルは次のようになります。
[リモート] "]
URL =
プッシュURL =
プッシュ =
フェッチ =
のプッシュのみに使用されます。 これはオプションであり、デフォルトでは。
名前付き file in $GIT_DIR/リモート
$GIT_DIR/remotes にファイル名を指定することもできます。 このファイル内の URL
リポジトリにアクセスするために使用されます。 このファイル内の refspec がデフォルトとして使用されます
コマンドラインでrefspecを指定しない場合。 このファイルには次のものが含まれている必要があります
フォーマット:
URL: 上記のいずれかの URL 形式
押す:
引く:
プッシュ: 行は次によって使用されます。 git プッシュ およびプル: ラインは次によって使用されます。 git プル と git フェッチ.
追加のブランチ マッピングには、複数の Push: 行と Pull: 行を指定できます。
名前付き file in $GIT_DIR/ブランチ
$GIT_DIR/branches にファイル名を指定することもできます。 このファイル内の URL
リポジトリにアクセスするために使用されます。 このファイルは次の形式である必要があります。
#
必要とされている; # はオプションです。
操作に応じて、git は次のいずれかの refspec を使用します。
コマンドラインで指定します。 $GIT_DIR/branches 内のこのファイルの名前です。
とデフォルトはマスターです。
git fetch は以下を使用します。
参照/ヘッド/ :refs/heads/
git Push は以下を使用します。
ヘッド:refs/heads/
構成済み リモートトラッキング ブランチ
定期的かつ繰り返しフェッチすることで、同じリモート リポジトリと対話することがよくあります。
それから。 このようなリモート リポジトリの進行状況を追跡するには、git fetch
リモートを構成できます。 .fetch 構成変数。
通常、このような変数は次のようになります。
[リモート「原点」]
フェッチ = +refs/heads/*:refs/remotes/origin/*
この構成は次の XNUMX つの方法で使用されます。
· どのブランチやタグをフェッチするかを指定せずに git fetch を実行すると、
コマンドライン、例えば git fetch origin または git fetch, remote. .fetch 値
refspecs として使用されます—取得する参照と取得するローカル参照を指定します
アップデート。 上記の例では、オリジンに存在するすべてのブランチ (つまり、任意のブランチ) をフェッチします。
値の左側に一致する ref、refs/heads/*) を更新し、
refs/remotes/origin/* 階層内の対応するリモート追跡ブランチ。
· git fetch がコマンド ラインでフェッチするための明示的なブランチおよび/またはタグを使用して実行される場合、
例: git fetch origin master、 コマンドラインで指定された
フェッチされます (例: master: の短縮形である例の master )。
これは、「フェッチする」ことを意味します マスター ブランチですが、何を明示的に言いません
コマンドラインからそれで更新するリモート追跡ブランチ」)、および例
コマンドはフェッチします の マスター ブランチ。 リモート。 .fetch 値
更新されたリモート トラッキング ブランチがある場合は、そのブランチを特定します。 このように使用すると、
リモート。 .fetch 値は決定に影響を与えません 何 フェッチされる
(つまり、コマンドラインが refspec をリストする場合、値は refspec として使用されません); 彼ら
決定するためにのみ使用されます コラボレー フェッチされた参照は、として機能することによって保存されます
マッピング。
リモートの後者の使用。 .fetch 値は、
--refmap= コマンドラインのパラメーター。
例
· リモート追跡ブランチを更新します。
$ git フェッチ元
上記のコマンドは、リモートの refs/heads/ 名前空間とストアからすべてのブランチをコピーします
ブランチでない限り、それらをローカルの refs/remotes/origin/ 名前空間に追加します。 。フェッチ
オプションは、デフォルト以外の refspec を指定するために使用されます。
· refspec を明示的に使用する:
$ git fetchorigin +pu:pu maint:tmp
これにより、ローカル リポジトリのブランチ pu と tmp が更新 (または必要に応じて作成) されます。
リモートリポジトリからブランチ(それぞれ)puおよびmaintからフェッチします。
pu ブランチは早送りしなくても更新されます。
プラス記号が前に付きます。 tmp はありません。
· ローカル リポジトリでリモートを構成せずに、リモートのブランチを覗く:
$ git fetch git://git.kernel.org/pub/scm/git/git.git maint
$ git ログ FETCH_HEAD
最初のコマンドは、リポジトリから maint ブランチを取得します。
git://git.kernel.org/pub/scm/git/git.git で、XNUMX 番目のコマンドは FETCH_HEAD を使用して
でブランチを調べる git-ログ(1)。 フェッチされたオブジェクトは、最終的にによって削除されます
git のビルトイン ハウスキーピング (参照 git-gc(1))。
onworks.net サービスを使用してオンラインで git-fetch を使用する