2013-01-21 6 views
9

Githubでこの緑色のアイコンは何を意味していますか?コミットリンクが私を別のリポジトリに連れて行くことは分かっています。私は似たようなことをする必要があります。これはシンボリックリンクですか?またはサブモジュールですか?私はgitのやや新しいことですが、私はこれを自分自身で再現することができますか?作成されると、この外部依存関係をどのように更新するのですか?この緑のアイコンはgithubリポジトリの意味は何ですか?

Git repository - what's up with the green icon?

+1

私のサブモジュールのように見えます。 '.gitmodules'ファイルには何が入っていますか? 「この外部依存関係を更新する」とはどういう意味ですか? –

+1

これはサブモジュールです...もっと詳しくはこちら:http://git-scm.com/book/en/Git-Tools-Submodules –

+0

aha。私は参照してください:[サブモジュール "page-js"] path = page-js url = https://github.com/visionmedia/page.js.git – TimDog

答えて

12

これはサブモジュールである:特定へのリンクは別のURLで別のリポジトリにコミットします。 git submodule update --initが実行されると、リポジトリがクローンされ、参照されたコミット(784fd39)がチェックアウトされます。

git submodule add <url> <directory>を使用してサブモジュールを作成すると、指定したディレクトリのサブモジュール参照が現在の作業ディレクトリに追加されます。

+0

素晴らしいコミット - ファイルが別のコミットで更新されると仮定すると、どのように私はサブモジュールを再コミットして最新のコミットに行くのですか?あるいは、 'init'がすでに自動的にサブモジュールを最新のコミットにリンクさせたら' git submodule update'を実行していますか? – TimDog

+0

@TimDog No、チェックアウトされたクローンがサブモジュールによって参照されるコミットを指し示すように更新されます。クローンされたリポジトリを最新のコミットに更新するには、そのリポジトリに 'cd'して、普通にそうであるように' git pull -ff-only'を実行します。そして、変更されたサブモジュールを 'git add 'し、その結果をあなたの外部リポジトリにコミットするために' git commit'する必要があります。 (サブモジュールでチェックアウトすることは、他のものと同じくらいリポジトリの履歴です)。 – cdhowie

+0

@TimDogその作業サブモジュールは個々のファイルを参照することはできず、サブディレクトリを参照することもできません。 'git submodule update --init'を実行すると、そのURLがリポジトリをまったく指していないので、エラーが発生します。ヒントのために – cdhowie

-1

この方法はhereです。 これは別の質問からです。そのトピックはWhat does a grey icon in remote GitHub mean です。非常に複雑なサブモジュールステップは無視できます。

+0

あなたはSOコミュニティに受け入れられるように、その記事の情報の一部をあなたの答えに加えてください。 –

関連する問題