リモートリポジトリをプルするリポジトリを作成したいと思います。
たとえば、サブモジュールとして jQuery を考えてみましょう。
git://github.com/jquery/jquery.git
サブモジュールとして jQuery を使用してリポジトリを作成し、リモート リポジトリとして独自の外部を追加するプロセスはどのようなものでしょうか。
また、これがセットアップされたら、自分のリモコンを押したり引いたりすると、外部はそのまま残りますか?
リモートリポジトリをプルするリポジトリを作成したいと思います。
たとえば、サブモジュールとして jQuery を考えてみましょう。
git://github.com/jquery/jquery.git
サブモジュールとして jQuery を使用してリポジトリを作成し、リモート リポジトリとして独自の外部を追加するプロセスはどのようなものでしょうか。
また、これがセットアップされたら、自分のリモコンを押したり引いたりすると、外部はそのまま残りますか?
サブモジュールは、参照と使用が非常に簡単です。既に MyWebApp がレポとして設定されていると仮定すると、端末から次のコマンドを発行します。
cd MyWebApp
git submodule add git://github.com/jquery/jquery.git externals/jquery
これにより、* という名前のディレクトリが作成externals/jquery
され、github jquery リポジトリにリンクされます。サブモジュールを初期化し、コードを複製する必要があります。
git submodule update --init --recursive
これで、すべての最新コードがサブモジュールに複製されたはずです。jquery リポジトリが変更され、最新のコードを取得したい場合は、submodule update
コマンドをもう一度発行してください。注: 通常、プロジェクトには多数の外部リポジトリがあるため、リポジトリは常に「externals」ディレクトリの下にグループ化されます。
オンラインのPro Git Bookには、サブモジュール (および一般的な git) に関する優れた情報が読みやすい形式で掲載されています。代わりに、git help submodule
良い情報も提供します。または、git wikiのGit サブモジュール チュートリアルをご覧ください。
サブモジュールについて説明し、それらを Subversion の svn:externals メカニズムと比較するこのブログ エントリに気付きました: http://speirs.org/blog/2009/5/11/understanding-git-submodules.html
* ベスト プラクティスとして、サブモジュールは常に Externals などの独自のディレクトリに配置する必要があります。そうしないと、プロジェクトのルート ディレクトリが急速に雑然としてしまう可能性があります。
あなたが知る必要があることのほとんどはすでに回答されているので、私はそれについて言及するつもりはありませんが、通常は不足している小さな情報を見つけました.
ご存知のように、「git pull」はサブモジュールを更新せず、「git submodules update」もそれらのサブモジュールの最新の HEAD をダウンロードしません。
すべてのサブモジュールを最新のアップストリーム リビジョンに更新するには、次を使用できます。
git submodule foreach git pull
サブモジュールを頻繁に変更し、その数が多い場合は、「git foreach」が非常に役立ちます。
結局、 http: //github.com/evilchelu/braidは、サブモジュールとリモートが機能することを期待していた方法に適合しているように見えました。