Gitリポジトリで依存関係をリンクするにはどうすればよいですか? 質問する

Gitリポジトリで依存関係をリンクするにはどうすればよいですか? 質問する

私のスクリプトでは、独自のリポジトリを持つライブラリ (自分のものでも他人のものでも) をよく使用します。リポジトリ内でそれらのライブラリを複製して、新しいバージョンがリリースされるたびに更新する手間を省きたいと考えています。ただし、誰かがリポジトリをクローンした場合でも、ローカルでは機能し、リンクが壊れないようにする必要があります。

私に何ができるかについて何かアイデアはありますか?

ベストアンサー1

これは Git のサブモジュールで実行できます。リポジトリで、次の操作を実行します。

git submodule add path_to_repo path_where_you_want_it

したがって、ライブラリのリポジトリの URL が で、それをプロジェクトで にgit://github.com/example/some_lib.gitしたい場合は、次のように入力します。lib/some_lib

git submodule add git://github.com/example/some_lib.git lib/some_lib

これはリポジトリの最上位ディレクトリから実行する必要があることに注意してください。したがって、cd最初に配置したディレクトリには移動しないでください。

サブモジュールを追加した後、または誰かがリポジトリを新しくチェックアウトするたびに、次の操作を行う必要があります。

git submodule init
git submodule update

そして、追加したすべてのサブモジュールは、同じリビジョンでチェックアウトされます。

いずれかのライブラリを新しいバージョンに更新したい場合は、cdサブモジュールにプルします。

cd lib/some_lib
git pull

次に、 を実行すると、変更されたセクションにリストgit statusされるはずです。そのファイルを追加してコミットすると、最新の状態になります。共同作業者がそのコミットをリポジトリにプルすると、再度実行するまで変更されたものとしてlib/somelib表示されます。lib/somelibgit submodule update

おすすめ記事