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