[解決済み] git リポジトリにリンクされた依存関係を持つにはどうすればよいですか?
質問
私のスクリプトでは、独自のリポジトリを持っているライブラリ(私または他の人の)をよく使用します。自分のレポにそれらのライブラリを複製して、新しいバージョンが出るたびに更新に追われるのは嫌です。 しかし、誰かがレポをクローンしても、ローカルで動作し、リンク切れにならないようにする必要があります。
何かいい方法はないでしょうか?
解決方法は?
gitのsubmoduleを使えば可能です。あなたのレポジトリで、してください。
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
を再び使用します。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み】Git, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
[解決済み】git push >> fatal: 設定されたプッシュ先がありません。
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push s...
-
[解決済み】Git Push Error: リポジトリデータベースにオブジェクトを追加する権限が不足しています。
-
[解決済み] 複数のgitコミットを元に戻すには?
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] ブラウンアウトの一環として、パスワード認証が一時的に無効になっています。代わりに個人用アクセストークンを使用してください[重複]。
-
[解決済み] git commit signing failed: secret key not available.