英語フランス語スペイン語

OnWorksファビコン

git-submodule-クラウドでのオンライン

Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、またはMACOSオンラインエミュレーターを介してOnWorks無料ホスティングプロバイダーでgit-submoduleを実行します

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドgit-submoduleです。

プログラム:

NAME


git-submodule-サブモジュールを初期化、更新、または検査します

SYNOPSIS


git サブモジュール [--quiet]追加[-b ] [-f | --force] [--name ]
[ - 参照] [ - 深さ][-] [ ]
git サブモジュール [--quiet]ステータス[--cached] [-recursive] [-] [ ...]
git サブモジュール [--quiet] init [-] [ ...]
git サブモジュール [--quiet] deinit [-f | --force] [-] ..。
git サブモジュール [--quiet] update [--init] [--remote] [-N | --no-fetch]
[-f | --force] [--rebase | --merge] [--reference ]
[ - 深さ] [--recursive] [-] [ ...]
git サブモジュール [--quiet] summary [--cached | --files] [(-n | --summary-limit) ]
[専念] [ - ] [ ...]
git サブモジュール [--quiet] foreach [-recursive]
git サブモジュール [--quiet] sync [--recursive] [-] [ ...]

DESCRIPTION


サブモジュールを検査、更新、および管理します。

サブモジュールを使用すると、別のGitリポジトリを自分のサブディレクトリに保持できます
リポジトリ。 他のリポジトリには独自の履歴があり、これは
現在のリポジトリの履歴。 これは、次のような外部依存関係を持つために使用できます
たとえば、サードパーティのライブラリ。

ただし、サブモジュールを含むリポジトリのクローンを作成またはプルする場合、これらは
デフォルトでチェックアウト。 the INITupdate サブコマンドは、チェックされたサブモジュールを維持します
作業ツリーを適切に修正します。

サブモジュールは、メインリポジトリ内のいわゆるgitlinkツリーエントリから構成されます。
完全に内部リポジトリ内の特定のコミットオブジェクトを指します
分ける。 .gitmodulesのレコード(を参照) gitモジュール(5))ソースのルートにあるファイル
ツリーはサブモジュールに論理名を割り当て、サブモジュールのデフォルトURLを記述します
から複製されます。 論理名は、内のこのURLをオーバーライドするために使用できます
ローカルリポジトリ構成(を参照) サブモジュール INIT).

サブモジュールは、同じ他のリポジトリであるリモートと混同しないでください。
事業; サブモジュールは、あなたがあなたの一部にしたいさまざまなプロジェクトのためのものです
ソースツリー、XNUMXつのプロジェクトの歴史はまだ完全に独立したままであり、
メインプロジェクト内からサブモジュールの内容を変更することはできません。 お望みならば
プロジェクト履歴をマージし、集約された全体を単一のプロジェクトとして扱いたい
それ以降は、他のプロジェクトのリモコンを追加して、 サブツリー マージ
他のプロジェクトをサブモジュールとして扱う代わりに、戦略。 から来るディレクトリ
そのルートを選択した場合は、両方のプロジェクトのクローンを作成して、全体としてチェックアウトできます。

コマンド


加えます
指定されたリポジトリを、指定されたパスのサブモジュールとして、変更セットに追加します。
現在のプロジェクトの隣にコミット:現在のプロジェクトは
「スーパープロジェクト」。

これには、少なくともXNUMXつの引数が必要です。 。 オプションの引数それは
複製されたサブモジュールがスーパープロジェクトに存在するための相対的な場所。 もしもは
指定しない場合、ソースリポジトリの「人間味のある」部分が使用されます(「repo」は
「host.xz:foo / .git」の場合は「/path/to/repo.git」および「foo」)。 ザとしても使用されます
--nameを使用して指定しない限り、構成エントリ内のサブモジュールの論理名
論理名。

新しいサブモジュールのオリジンリポジトリのURLです。 これはどちらかです
絶対URL、または(./または../で始まる場合)、
スーパープロジェクトのオリジンリポジトリ(リポジトリを指定することに注意してください foo.git
スーパープロジェクトのすぐ隣にあります bar.git、使用する必要があります ../foo.git
./foo.git -相対URLのルールに従うと予想されるように
-Gitでの相対URLの評価は、相対URLの評価と同じであるため
ディレクトリ)。 スーパープロジェクトにオリジンが構成されていない場合スーパープロジェクト
は独自の権限のあるアップストリームであり、代わりに現在の作業ディレクトリが使用されます。

複製されたサブモジュールがスーパープロジェクトに存在するための相対的な場所です。
もしもが存在しない場合、サブモジュールは指定されたURLからクローンを作成することによって作成されます。
もしも存在し、すでに有効なGitリポジトリである場合、これはに追加されます
クローンなしのチェンジセット。 このXNUMX番目のフォームは、新しいフォームの作成を容易にするために提供されています
サブモジュールを最初から作成し、ユーザーが後でサブモジュールを
指定されたURL。

いずれの場合も、指定されたURLは、後続のユーザーが使用できるように.gitmodulesに記録されます。
スーパープロジェクトのクローンを作成します。 スーパープロジェクトに関連するURLが指定されている場合
リポジトリ、推定はスーパープロジェクトであり、サブモジュールリポジトリは
同じ相対的な場所に一緒に保持され、スーパープロジェクトのURLのみが必要です
提供される:git-submoduleは相対URLを使用してサブモジュールを正しく見つけます
.gitmodulesで。

status
サブモジュールのステータスを表示します。 これにより、現在チェックされているSHA-1が印刷されます
サブモジュールのパスと出力とともに、各サブモジュールのコミットを出力します。 git
説明する SHA-1の場合。 サブモジュールがそうでない場合、各SHA-1には接頭辞-が付けられます
初期化、+現在チェックアウトされているサブモジュールのコミットがSHA-1と一致しない場合
サブモジュールがマージされている場合は、含まれているリポジトリとUのインデックスにあります
衝突します。

--recursiveが指定されている場合、このコマンドはネストされたサブモジュールに再帰し、
それらのステータスも表示します。

現在初期化されているサブモジュールの変更のみに関心がある場合
インデックスまたはHEADに記録されたコミットに関して、 git ステータス(1)と git-差分(1)
その情報も提供します(また、サブモジュールの作業への変更を報告することもできます
木)。

INIT
インデックスに記録されたサブモジュールを初期化します(追加およびコミットされたもの)
他の場所)サブモジュール名とURLを.gitmodulesから.git / configにコピーします。
オプション引数は、初期化されるサブモジュールを制限します。 それも
submodule。$name.updateの値を.git/configにコピーします。 .git/configで使用されるキー
submodule。$name.urlです。 このコマンドは、の既存の情報を変更しません
.git / config。 次に、.git / configのサブモジュールクローンURLをカスタマイズできます。
ローカルセットアップを行い、gitサブモジュールの更新に進みます。 gitサブモジュールを使用することもできます
明示的なものなしで--initを更新します INIT カスタマイズするつもりがない場合はステップ
サブモジュールの場所。

定義済み
指定されたサブモジュールの登録を解除します。つまり、submodule。$ nameセクション全体をから削除します。
.git/configとその作業ツリー。 gitサブモジュールの更新、gitへのさらなる呼び出し
サブモジュールforeachとgitサブモジュール同期は、未登録のサブモジュールをスキップします
それらは再び初期化されるので、ローカルが必要ない場合はこのコマンドを使用してください
作業ツリーのサブモジュールをチェックアウトします。 本当に削除したい場合
リポジトリからサブモジュールを作成し、その使用をコミットします git-rm(1)代わりに。

--forceが指定されている場合、サブモジュールの作業ツリーは、含まれている場合でも削除されます
ローカル変更。

update
登録されたサブモジュールを更新して、スーパープロジェクトが期待するものと一致するようにクローンを作成します
サブモジュールが欠落していて、サブモジュールの作業ツリーを更新しています。 「更新」は
コマンドラインオプションとの値に応じて、いくつかの方法で実行できます。
サブモジュール。 .update構成変数。 サポートされている更新手順は次のとおりです。

チェックアウト
スーパープロジェクトに記録されたコミットは、サブモジュールでチェックアウトされます。
HEADを切り離しました。 これは、-checkoutオプションが指定されている場合、またはオプションが指定されていない場合に実行されます。
与えられた、およびサブモジュール。 .updateが設定されていないか、に設定されている場合 チェックアウト.

--forceが指定されている場合、サブモジュールはチェックアウトされます(git checkoutを使用)
-必要に応じて強制)、たとえコミットがインデックスで指定されている場合でも
リポジトリを含むことは、サブモジュールでチェックアウトされたコミットとすでに一致しています。

リベース
サブモジュールの現在のブランチは、に記録されたコミットに基づいてリベースされます
スーパープロジェクト。 これは、-rebaseオプションが指定されている場合、またはオプションが指定されていない場合に実行されます。
与えられた、およびサブモジュール。 .updateはに設定されています リベース.

マージ
スーパープロジェクトに記録されたコミットは、の現在のブランチにマージされます
サブモジュール。 これは、-mergeオプションが指定されている場合、またはオプションが指定されていない場合に実行されます。
およびサブモジュール。 .updateはに設定されています マージ.

カスタムコマンド
単一の引数を取る任意のシェルコマンド(コミットのsha1
スーパープロジェクトに記録された)が実行されます。 これは、オプションが指定されていない場合に実行されます。
およびサブモジュール。 .updateの形式は次のとおりです。 !指図.

オプションが指定されていない場合とサブモジュール。 .updateはに設定されています なし、サブモジュールは
更新されていない。

サブモジュールがまだ初期化されておらず、次のように設定を使用したい場合
.gitmodulesに保存されている場合、-initを使用してサブモジュールを自動的に初期化できます
オプションを選択します。

--recursiveが指定されている場合、このコマンドは登録されたサブモジュールに再帰します。
ネストされたサブモジュールを更新します。

要約
指定されたコミット(デフォルトはHEAD)と作業の間のコミットの概要を表示する
ツリー/インデックス。 問題のサブモジュールの場合、サブモジュール内の一連のコミット
指定されたスーパープロジェクトのコミットとインデックスまたは作業ツリー(--cachedによって切り替えられます)
示されています。 オプション--filesが指定されている場合は、サブモジュールで一連のコミットを表示します
スーパープロジェクトのインデックスとサブモジュールの作業ツリーの間(これ
オプションでは、-cachedオプションを使用したり、明示的なコミットを提供したりすることはできません)。

--submodule=logオプションを使用する git-差分(1)その情報も提供します。

foreachの
チェックアウトされた各サブモジュールで任意のシェルコマンドを評価します。 コマンドには
変数$name、$ path、$ sha1、および$ toplevelへのアクセス:$nameはの名前です
.gitmodulesの関連するサブモジュールセクション。$ pathはサブモジュールの名前です。
スーパープロジェクトに関連するディレクトリ、$ sha1はに記録されたコミットです
スーパープロジェクトであり、$toplevelはスーパープロジェクトのトップレベルへの絶対パスです。
スーパープロジェクトで定義されているがチェックアウトされていないサブモジュールは、これによって無視されます
指図。 --quietが指定されていない限り、foreachは各サブモジュールの名前を前に出力します
コマンドを評価します。 --recursiveが指定されている場合、サブモジュールは再帰的にトラバースされます
(つまり、指定されたシェルコマンドはネストされたサブモジュールでも評価されます)。 ゼロ以外
サブモジュールのコマンドから戻ると、処理が終了します。 これはできます
追加することで上書きされます || : を追加します。

例として、git submodule foreach'echo $ path `git rev-parseHEAD` 'は
パスと現在チェックアウトされている各サブモジュールのコミット。

sync
サブモジュールのリモートURL構成設定をで指定された値に同期します
.gitmodules。 すでにURLエントリがあるサブモジュールにのみ影響します
.git / config(初期化または新たに追加された場合)。 これは
サブモジュールのURLがアップストリームで変更され、ローカルを更新する必要がある場合に便利です
それに応じてリポジトリ。

「gitsubmodulesync」はすべてのサブモジュールを同期し、「git submodulesync--A」は
サブモジュール「A」のみを同期します。

--recursiveが指定されている場合、このコマンドは登録されたサブモジュールに再帰します。
ネストされたサブモジュールを同期します。

OPTIONS


-q、-quiet
エラーメッセージのみを出力します。

-b、-branch
サブモジュールとして追加するリポジトリのブランチ。 支店の名前は次のように記録されます
サブモジュール。 更新用の.gitmodulesの.branch--remote。

-f、-force
このオプションは、add、deinit、およびupdateコマンドにのみ有効です。 addを実行するときは、許可します
それ以外の場合は無視されるサブモジュールパスを追加します。 deinitを実行すると、サブモジュールが機能します
ローカルの変更が含まれている場合でも、ツリーは削除されます。 アップデート実行時(のみ
チェックアウト手順で効果的)、サブモジュールのローカル変更を破棄する場合
別のコミットに切り替える。 常にサブモジュールでチェックアウト操作を実行し、
含まれているリポジトリのインデックスにリストされているコミットがコミットと一致する場合でも
サブモジュールでチェックアウトしました。

-キャッシュ
このオプションは、ステータスコマンドとサマリーコマンドにのみ有効です。 これらのコマンドは通常、
サブモジュールHEADにあるコミットを使用しますが、このオプションを使用すると、コミットは
代わりにインデックスが使用されます。

-ファイル
このオプションは、summaryコマンドにのみ有効です。 このコマンドは、コミットを比較します
このオプションを使用した場合のサブモジュールHEADのインデックス。

-n、-summary-limit
このオプションは、summaryコマンドにのみ有効です。 サマリーサイズを制限します(
合計で表示されるコミット)。 0を指定すると、要約が無効になります。 負の数は
無制限(デフォルト)。 この制限は、変更されたサブモジュールにのみ適用されます。 サイズは
追加/削除/タイプ変更されたサブモジュールの場合、常に1に制限されます。

-リモート
このオプションは、updateコマンドに対してのみ有効です。 スーパープロジェクトを使用する代わりに
記録されたSHA-1はサブモジュールを更新し、サブモジュールのステータスを使用します
リモートトラッキングブランチ。 使用されるリモートはブランチのリモート(ブランチ)です。 .remote)、
デフォルトはoriginです。 使用されるリモートブランチはデフォルトでマスターになりますが、ブランチ名は
サブモジュールを設定することでオーバーライドできます。 いずれかの.gitmodulesの.branchオプション
または.git / config(.git / configが優先されます)。

これは、サポートされている更新手順(--checkout、-rebaseなど)のいずれでも機能します。
唯一の変更は、ターゲットSHA-1のソースです。 たとえば、サブモジュールの更新
--remote --mergeは、アップストリームのサブモジュールの変更をサブモジュールにマージしますが、
submodule update --mergeは、スーパープロジェクトのgitlinkの変更をサブモジュールにマージします。

現在の追跡ブランチの状態を確認するために、update--remoteは
SHA-1を計算する前のサブモジュールのリモートリポジトリ。 あなたがしたくない場合
フェッチするには、サブモジュールupdate --remote--no-fetchを使用する必要があります。

このオプションを使用して、アップストリームサブプロジェクトからの変更を
サブモジュールの現在のHEAD。 または、サブモジュールからgitpullを実行することもできます。
これは、リモートブランチ名を除いて同等です。update--remoteは、
デフォルトのアップストリームリポジトリとサブモジュール。 .branch、gitpullは
サブモジュールのブランチ。 。マージ。 サブモジュールを優先します。 。必要に応じてブランチ
デフォルトのアップストリームブランチをスーパープロジェクトとブランチとともに配布します。 。マージ
サブモジュール自体で作業しているときに、よりネイティブな感じが必要な場合。

-N、-no-fetch
このオプションは、updateコマンドに対してのみ有効です。 から新しいオブジェクトをフェッチしないでください
リモートサイト。

- チェックアウト
このオプションは、updateコマンドに対してのみ有効です。 に記録されたコミットをチェックアウトします
サブモジュール内の切り離されたHEADのスーパープロジェクト。 これはデフォルトの動作であり、
このオプションの主な用途は、値に設定されたときにsubmodule。$name.updateをオーバーライドすることです。
チェックアウト以外。 キーsubmodule。$ name.updateが明示的に設定されていないか、
チェックアウトに設定すると、このオプションは暗黙的です。

- マージ
このオプションは、updateコマンドに対してのみ有効です。 に記録されたコミットをマージします
サブモジュールの現在のブランチにスーパープロジェクトします。 このオプションが指定されている場合、
サブモジュールのHEADは切り離されません。 マージの失敗によりこのプロセスが妨げられる場合は、
サブモジュール内で発生する競合を通常の方法で解決する必要があります
競合解決ツール。 キーsubmodule。$ name.updateがマージするように設定されている場合、これは
オプションは暗黙的です。

-リベース
このオプションは、updateコマンドに対してのみ有効です。 現在のブランチをにリベースします
スーパープロジェクトに記録されたコミット。 このオプションが指定されている場合、サブモジュールのHEAD
切り離されません。 マージの失敗によりこのプロセスが妨げられる場合は、次のことを行う必要があります。
これらの障害を解決するには git-リベース(1)。 キーsubmodule。$name.updateがに設定されている場合
リベース、このオプションは暗黙的です。

- 初期化
このオプションは、updateコマンドに対してのみ有効です。 対象となるすべてのサブモジュールを初期化します
「gitsubmoduleinit」は、更新前にこれまで呼び出されていません。

- 名前
このオプションは、addコマンドに対してのみ有効です。 サブモジュールの名前をに設定します
デフォルトのパスではなく、指定された文字列。 名前はディレクトリとして有効である必要があります
名前で終わりではない場合があります /.

- リファレンス
このオプションは、追加および更新コマンドにのみ有効です。 これらのコマンドは時々必要です
リモートリポジトリのクローンを作成します。 この場合、このオプションはに渡されます ギット-
(1)コマンド。

注意: 行う のメモを読んでいない限り、このオプションを使用してください gitクローン(1)の
--referenceおよび--sharedオプションは慎重に。

-再帰的
このオプションは、foreach、update、status、syncコマンドにのみ有効です。 トラバース
サブモジュールを再帰的に。 操作は、のサブモジュールだけでなく実行されます
現在のリポジトリだけでなく、それらのサブモジュール内のネストされたサブモジュール(など)にもあります。

- 深さ
このオプションは、追加および更新コマンドに有効です。 作成する 浅い でクローンを作成する
指定されたリビジョン数に切り捨てられた履歴。 見る gitクローン(1)

..。
サブモジュールへのパス。 指定すると、コマンドは動作のみに制限されます
指定されたパスで見つかったサブモジュール。 (この引数はaddで必要です)。

onworks.netサービスを使用してオンラインでgit-submoduleを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad