タグ付けされた質問 「git-submodules」

サブモジュールを使用すると、Gitリポジトリを別のGitリポジトリのサブディレクトリとして保持できます。

12
変更をgitサブモジュールに戻すにはどうすればよいですか?
リポジトリに追加したgitサブモジュール(RestKit)があります。 そこにあるファイルを誤って変更してしまい、元のバージョンに戻したいのですが。それをするために、私は走ってみました Mac:app-ios user$ git submodule update RestKit しかし、ここでわかるように、これはまだ「変更されたコンテンツ」であるため、機能しませんでした。 Mac:app-ios user$ git status ... # modified: RestKit (modified content) でも Mac:app-ios user$ git submodule update -f RestKit ローカルで変更されたファイルを元に戻しません。 そのサブモジュールのコンテンツをリセットするにはどうすればよいですか?

7
サブモジュールを最新のコミットに更新する
ライブラリであるプロジェクトAがあり、プロジェクトBで使用されています。 プロジェクトAとBの両方にgithubに個別のリポジトリがありますが、Bの内部にはAのサブモジュールがあります。 ライブラリのいくつかのクラスを編集しました。これはリポジトリAにあり、リモートリポジトリをプッシュしたため、ライブラリ(リポジトリA)が更新されました。 これらの更新は、サブモジュールが以前のコミットを参照する「参照」(サブモジュール)を反映していません... gitでサブモジュールを更新するにはどうすればよいですか?

17
Gitリポジトリのサブモジュールを一覧表示する
いくつかのサブモジュールが含まれているGitリポジトリがあります。git submodule init実行後にすべてのサブモジュールの名前を一覧表示するにはどうすればよいですか? git submodule foreachコマンドは、サブモジュールの名前をエコー可能性が、彼らは初期化ステップの後に起きていないそのチェックアウトされた後ということにのみ機能します。チェックアウトする前に実行する必要のある手順がチェーンにあります。サブモジュールの名前をスクリプトに固定する必要はありません。 現在登録されているがまだチェックアウトされていないすべてのサブモジュールの名前を取得するGitコマンドはありますか?

4
Gitサブモジュールの更新
次の意味がわかりません(Gitサブモジュールの更新ドキュメントから)。 ... --rebaseまたは--merge指定されていない限り、サブモジュールHEADがデタッチされます... どのように--rebase/ --merge変更しますか? 私の主な使用例は、多数の中央リポジトリーを持つことです。サブリポジトリーを介して他のリポジトリーに組み込みます。これらの中央リポジトリを、元の場所で直接、または埋め込みリポジトリ(サブモジュールを介して使用するリポジトリ)内から改善できるようにしたいと思います。 これらのサブモジュール内から、通常のリポジトリと同じようにブランチ/変更を作成し、プッシュ/プルを使用できますか、または注意すべき点はありますか? サブモジュールで参照されるコミットを(タグ付けされた)1.0から1.1に(元のリポジトリのヘッドがすでに2.0であっても)どのように進めるか、またはどのブランチのコミットを使用するかをどのように選択しますか?

9
git diffはサブプロジェクトがダーティだと言っています
git diffを実行したところ、約10個のサブモジュールすべてについて次の出力が得られます diff --git a/.vim/bundle/bufexplorer b/.vim/bundle/bufexplorer --- a/.vim/bundle/bufexplorer +++ b/.vim/bundle/bufexplorer @@ -1 +1 @@ -Subproject commit 8c75e65b647238febd0257658b150f717a136359 +Subproject commit 8c75e65b647238febd0257658b150f717a136359-dirty これは何を意味するのでしょうか?どうすれば修正できますか?

11
一般的なコードをgitサブモジュールとして追加する際の問題:「インデックスにすでに存在しています」
私はgitを初めて使用するので、サブモジュールを追加する手助けをいただければ幸いです。いくつかの一般的なコードを共有する2つのプロジェクトを受け取りました。共有コードが2つのプロジェクトにコピーされました。共通コード用に別のgitリポジトリを作成し、それをgitサブモジュールとして追加する計画でプロジェクトから削除しました。 git submodule addのパスオプションを使用してフォルダーを指定しました。 git submodule add url_to_repo projectfolder しかし、エラーが発生しました: 'projectfolder' already exists in the index" これは私のリポジトリの望ましい構造です: repo |-- projectfolder |-- folder with common code gitサブモジュールをリポジトリに直接追加するか、新しいフォルダに追加することは可能ですが、プロジェクトフォルダには追加できません。問題は、それが本当にプロジェクトフォルダーにある必要があるということです。これについて私は何ができますか、そしてgit submodule addのパスオプションについて何を誤解しましたか?

4
外部リポジトリサブモジュールを使用するようにgitプロジェクトを設定するにはどうすればよいですか?
リモートリポジトリを取り込むリポジトリを作成したいのですが。 たとえば、サブモジュールとしてjQueryがあるとします。 git://github.com/jquery/jquery.git jQueryをサブモジュールとしてリポジトリを作成し、自分の外部をリモートリポジトリとして追加するプロセスはどうなるでしょうか。 また、これがセットアップされたら、自分のリモートにプッシュ/プルした場合、外部はそのまま残りますか?


5
Gitサブモジュールの追加:「ローカルにgitディレクトリが見つかりました」の問題
私は実際に、git submoduleサブコマンドを含め、gitの使用方法を学習しようとしています。SSHを使用してgitリポジトリをホスト、プッシュ、プルできるサーバーをすでにセットアップしています。このサーバーにメインのgitリポジトリ「Travail」を作成しました。その中にすべてのプロジェクトをサブモジュールとして配置します。 私のTravailリポジトリでは、次の場所にサブモジュールとしてすでに私のプロジェクトを追加tools/libftしています。このサブモジュールを開発し、プッシュおよびプルすることができます。 しかし、別のサブモジュール(fdfという名前で、サーバー上のfdf.gitから)を追加しようとすると、次の問題が発生します。 git submodule add ssh://XXX.XXX.XXX.XXX:XXXXX/opt/git/fdf.git projets/fdf 'projets / fdf'のgitディレクトリは、リモートでローカルにあります:origin ssh://git@XXX.XXX.XXX.XXX:XXXXX / opt / git / fdf.gitこのローカルgitを再利用する場合ssh://XXX.XXX.XXX.XXX:XXXXX / opt / git / fdf.gitから再度クローンを作成する代わりに、「-force」オプションを使用します。ローカルのgitディレクトリが正しいリポジトリではない場合、またはこれが何を意味するのかわからない場合は、「-name」オプションで別の名前を選択してください。 実際にはサブディレクトリはありません projets/ git submodule syncサブモジュールの元のリポジトリへのURLが変更されている可能性がある.gitmodulesファイルを使用または編集する必要がある別のスレッドを読みました。 しかし、私の.gitmodulesファイルには、最初のサブモジュール(tools / libft)に関する情報のみが含まれ、projets / fdfに関する情報は含まれていません。 [submodule "tools/libft"] path = tools/libft url = ssh://git@XXX.XXX.XXX.XXX:XXXXX/opt/git/libft.git フランス人の学生だったので、英語のドキュメントを見逃していたかもしれませんが、検索したのになぜこの問題が発生したのか理解できません。 解決策があれば嬉しいですが、説明だけでも役に立ちます。

7
なぜGitサブモジュールHEADがマスターから切り離されているのですか?
私はGitサブモジュールを使用しています。サーバーから変更をプルした後、多くの場合、サブモジュールのヘッドがマスターブランチから切り離されます。 なぜそれが起こるのですか? 私はいつもしなければなりません: git branch git checkout master サブモジュールが常にマスターブランチを指していることを確認するにはどうすればよいですか?

12
追跡されていないコンテンツを追跡する方法は?
元の質問については、実線の下を参照してください。 ローカルディレクトリに追跡されていないフォルダーがあります。を実行するとgit status、次のようになります。 Changed but not updated: modified: vendor/plugins/open_flash_chart_2 (modified content, untracked content) 入力してgit add vendor/plugins/open_flash_chart_2もう一度試すgit statusと、「追跡されていません」と表示されます。どうしたの? ここに私の最新の30分の簡単な要約があります: Githubリポジトリがvendor/plugins/open_flash_chart_2プラグインを追跡していないことがわかりました。具体的には、コンテンツがなく、フォルダアイコンに緑色の矢印が表示されています。 試しました git submodule init No submodule mapping found in .gitmodules for path 'vendor/plugins/open_flash_chart_2' 試しました git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2 vendor/plugins/open_flash_chart_2 already exists in the index git status modified: vendor/plugins/open_flash_chart_2 (untracked content) …

7
gitサブモジュールの名前を変更する
gitサブモジュールディレクトリの名前を変更する簡単な方法はありますか(それを削除して新しい宛先名で再度追加するという全体の動きを経る以外に )。 そして、私たちがそうしている間に、なぜ親ディレクトリで次のことを実行できないのですか? git mv old-submodule-name new-submodule-name

10
Gitサブモジュールの追跡されていないステータスを取り除く方法は?
Gitのサブモジュールで追跡されていないコンテンツを取り除くことができないようです。実行中のgit status利回り: #ブランチマスター上 #コミットのためにステージングされていない変更: #(コミットされるものを更新するには「git add ...」を使用) #(「git checkout-...」を使用して、作業ディレクトリの変更を破棄します) #(サブモジュールの追跡されていない、または変更されたコンテンツをコミットまたは破棄する) # #変更:バンドル/抜粋(追跡されていないコンテンツ) #変更:バンドル/サラウンド(追跡されていないコンテンツ) #変更:bundle / trailing-whitespace(追跡されていないコンテンツ) #変更:bundle / zencoding(追跡されていないコンテンツ) # コミットに変更が追加されていません(「git add」または「git commit -a」を使用してください) --ignore-submodulesパラメータを追加すると、これらのメッセージが非表示になります。しかし、この汚れをより適切でコアっぽい方法で取り除く方法はあるのでしょうか。

1
gitリポジトリで依存関係をリンクするにはどうすればよいですか?
私のスクリプトでは、自分のリポジトリを持つライブラリ(私のものまたは他のもの)をよく使用します。私はそれらを私のリポジトリに複製したくありません、そして新しいバージョンが出るたびにそれらを更新することに行き詰まってしまいたくありません。ただし、誰かがレポを複製しても、ローカルで機能し、リンクが壊れていないはずです。 私が何ができるかについてのアイデアはありますか?

5
Git:fatal:Pathspecはサブモジュールにあります
このガイドによると、TravisCIにHakyll静的サイトを自動的にデプロイさせようとしています。 これが私のリポジトリの設定方法です。hakyllファイルとmarkdownファイルを含むソースブランチがあります。それは_site私のmasterブランチにリンクされたサブモジュールとしてセットアップされたディレクトリにhtmlを構築します。 私は問題なくサイトを構築し、次にcd_siteディレクトリに作成します。しかし、git add ./*新しく生成されたHTMLファイルを使用しようとすると、次のエラーが発生します。 fatal: Pathspec './about.html' is in submodule '_site' しようとするとgit add --all、次のエラーが発生します。 git: pathspec.c:317: prefix_pathspec: Assertion `item->nowildcard_len <= item->len && item->prefix <= item->len' failed. /home/travis/build.sh: line 245: 1566 Aborted git add --all これは何が原因で、どうすればこれを回避できますか? ここでリポジトリを表示できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.