問題タブ [git-submodules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
11582 参照

git - `git submodule foreachgitpull`を実行できません

この質問はこのスレッドに基づいています。

私の.gitmodulesは私の家にあります

私の家のフォルダ構造:

走る

走る

私は得る

バグを修正するための私の最初の仮定は、に変更path = binすることでしたpath = /Users/Masi/bin。ただし、これで問題が解決するわけではありません。

Gitのサブモジュールである外部リポジトリからコンテンツをアップロードするにはどうすればよいですか?

0 投票する
1 に答える
2136 参照

git - マージ時のgit segfaults - サブモジュールの競合

「git merge」コマンドを使用して 2 つのブランチのコードを結合しようとしていますが、処理中に git がクラッシュします。これらのブランチをマージする別の方法を見つける必要があります。

マージ出力をデバッグ レベルまで上げるには、次のコマンドを実行しました。

私は現在宛先ブランチにいます。git-status は、すべてがクリーンで明確に表示されます。ブランチをマージすると、これが表示されます (チェックイン コメントを %%%%%% に、ファイル名を ####### に置き換えました。これは、ビジネス上重要な場合があるためです)。

この時点で、git-merge がクラッシュしたことが判明しました。どうすればこれを知ることができますか? - Cygwin で git を実行する場合:

  • Linux で git を実行する場合、「ulimit -c unlimited」を使用:
  • どちらの場合も、 .git/index.lock が残り、git コマンドが再び機能する前に手動で削除する必要があります。

    $ git status fatal: '.git/index.lock' を作成できません: ファイルが存在します

コミット ID を gitk ツリーの ID と比較して、上記のマージを手動で行いました。git が共通の祖先を探し、マージを分割して各祖先を再帰的に処理していることは明らかです。しかし、問題の原因は、コミット e0a5fa1 と ce62bf1 の間で「build」と呼ばれるサブモジュールへの「git-link」が変更されたことだと思います。

  • e0a5fa1 では、サブモジュールのビルドは 8dc84b6 になる予定です
  • ce62bf1 では、サブモジュールのビルドは b3efae4 になる予定です

したがって、明らかに競合があります。しかし、それは「部分的な」マージ中またはそれが呼ばれるものであり、最終的なものではありません。そして、gitはこれをうまく処理していないようです。

バグの可能性があります。バグ レポートを送信するにはどうすればよいですか?

しかし、ここで私が本当に心配しているのは、これら 2 つのブランチをマージできないという事実です。「マージ」コマンドを使用せずにこれらのブランチをまとめる別の方法を知っている人はいますか? マージプロセス全体でこのサブモジュールを完全に無視するように「git-merge」を取得できますか?

Linux git バージョン 1.6.0.4

Cygwin git バージョン 1.6.1.2

0 投票する
36 に答える
1153568 参照

git - サブモジュールを削除するにはどうすればよいですか?

Gitサブモジュールを削除するにはどうすればよいですか?

ちなみに、単純にできない理由はあります git submodule rm whateverか?

0 投票する
1 に答える
969 参照

git - git プロジェクトを複数のサブプロジェクトに分割する別の使用例

プロジェクトをいくつかのサブプロジェクトに分割しましたが、すべて共通の部分 (cmake スクリプトを含むディレクトリ) があります。さらに、一部のサブプロジェクトには、他のサブプロジェクト (ライブラリ) を含める必要があります。

私はgitサブモジュールを使用したいと思いますが、私が知る限り、サブモジュールはレポ内の別のディレクトリにある必要があるという制限があります(そうですか?)スーパープロジェクトまたはサブプロジェクトのソースまたは cmake スクリプト。

どのように解決することを提案しますか?

0 投票する
6 に答える
15012 参照

git - Git のネストされたサブモジュールと依存関係

CoreABSuperという名前の 4 つのプロジェクトがあるとします。依存関係ツリーは次のようになります。

各プロジェクトをスタンドアロンにしたい、つまり、各プロジェクトを独自にチェックアウトしてコンパイルできるようにしたい (もちろん、それぞれの依存関係を含む)。

各プロジェクトをリポジトリにマッピングしてから、サブモジュールで依存関係を参照することを考えましたが、そのアプローチには次の問題があります。

  1. Superをすべての依存関係とともにチェックアウトすると、 Coreの 3 つのコピーが作成されます。
  2. サブモジュールは完全に独立しているため、これら 3 つのコピーのそれぞれがCoreの異なるリビジョンを指している可能性があり、混乱を招きます。

それで...何か足りないのですか?git サブモジュールを誤解したり、誤用したりしましたか? この問題に対する他の解決策はありますか (バイナリ依存関係に頼る以外に)?

0 投票する
2 に答える
1028 参照

git - How to track config files of submodules in Git?

In Git, how can I organize work to track local config files of a library, which is a git submodule?

In details:

the library has normal files that are tracked, and default config files that are in it's folder, but not tracked, in order to avoid resetting or overwriting them (they're listed in .gitignore). All the files are in lib's folder or subfolders.

I started tracking one of the projects, that use this lib, in Git too. Now there's a dilemma:

  • if I make the lib in this project a submodule, I won't be able to track the config files (Git will ignore them, since they're in the submodule folder).

  • tracking everything as a big project is a bad idea, as I understand.

  • if I do track config files in the library, how can I avoid resetting them to default values? Do I make a branch in the working project and pull from master every time? Then, what if I edit the library and a config file in it? This must cause a merge conflict, doesn't it?

I guess this is not new, but I couldn't find any advice. I'll appreciate learning from your experience guys.

0 投票する
1 に答える
4521 参照

git - gitignore を使用して別のレポ内にレポを配置するよりも、git サブモジュールを使用する利点は何ですか?

私たちは git サブモジュールを調査してきましたが、.gitignore ファイルを使用して別のリポジトリ内にリポジトリを作成するのと比較して、サブモジュールを使用してリポジトリを作成することに (もしあれば) どんな利点があるのか​​疑問に思っています。

サブモジュールなしの例:

0 投票する
2 に答える
57094 参照

git - サブモジュール内のGitサブモジュール(ネストされたサブモジュール)

gitサブモジュールを他のいくつかのgitサブモジュールで構成し、スーパーgitリポジトリで各サブモジュールのコンテンツをフェッチすることは可能ですか?

私は、いくつかのサブモジュールを保持するgitリポジトリを作成するという明白で素朴なアプローチを使用してこれを実行しようとしました。

次に、このgitリポジトリをサブモジュールとして別のgitリポジトリに追加します。

次に、スーパーgitリポジトリのルートディレクトリからプルしようとしgit submodule initますgit submodule update。しかし、これはサブサブモジュールのフェッチに失敗します。

0 投票する
2 に答える
1378 参照

git - git サブモジュールを「フリーズ」する方法

自分でホストしていないいくつかのリポジトリを使用していますが、それらが利用できないときにアプリケーションをデプロイするとどうなるでしょうか? これは単に起こり得ないことです。

サブモジュールを何らかの形で「フリーズ」して、リポジトリからプルしたときにサブモジュールがすでに初期化されて更新されている方法はありますか?

どんな助けでも大歓迎です。

0 投票する
1 に答える
3672 参照

git - git-archiveでgit-submodulesを処理する必要があります

で作成したtarball内にgitサブモジュールをパックする必要がありますgit-archive

1.6.5git-archiveではgitサブモジュールをサポートしていないことがわかります。

ネットでこのケースを処理するためのスクリプトがいくつかありますが、どれを選択すればよいかわかりません。

これを行うための最良/最も公式な方法は何ですか?