問題タブ [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.
git - `git submodule foreachgitpull`を実行できません
この質問はこのスレッドに基づいています。
私の.gitmodulesは私の家にあります
私の家のフォルダ構造:
走る
走る
私は得る
バグを修正するための私の最初の仮定は、に変更path = bin
することでしたpath = /Users/Masi/bin
。ただし、これで問題が解決するわけではありません。
Gitのサブモジュールである外部リポジトリからコンテンツをアップロードするにはどうすればよいですか?
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
git - サブモジュールを削除するにはどうすればよいですか?
Gitサブモジュールを削除するにはどうすればよいですか?
ちなみに、単純にできない理由はあります
git submodule rm whatever
か?
git - git プロジェクトを複数のサブプロジェクトに分割する別の使用例
プロジェクトをいくつかのサブプロジェクトに分割しましたが、すべて共通の部分 (cmake スクリプトを含むディレクトリ) があります。さらに、一部のサブプロジェクトには、他のサブプロジェクト (ライブラリ) を含める必要があります。
私はgitサブモジュールを使用したいと思いますが、私が知る限り、サブモジュールはレポ内の別のディレクトリにある必要があるという制限があります(そうですか?)スーパープロジェクトまたはサブプロジェクトのソースまたは cmake スクリプト。
どのように解決することを提案しますか?
git - Git のネストされたサブモジュールと依存関係
Core、A、B、Superという名前の 4 つのプロジェクトがあるとします。依存関係ツリーは次のようになります。
各プロジェクトをスタンドアロンにしたい、つまり、各プロジェクトを独自にチェックアウトしてコンパイルできるようにしたい (もちろん、それぞれの依存関係を含む)。
各プロジェクトをリポジトリにマッピングしてから、サブモジュールで依存関係を参照することを考えましたが、そのアプローチには次の問題があります。
- Superをすべての依存関係とともにチェックアウトすると、 Coreの 3 つのコピーが作成されます。
- サブモジュールは完全に独立しているため、これら 3 つのコピーのそれぞれがCoreの異なるリビジョンを指している可能性があり、混乱を招きます。
それで...何か足りないのですか?git サブモジュールを誤解したり、誤用したりしましたか? この問題に対する他の解決策はありますか (バイナリ依存関係に頼る以外に)?
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.
git - gitignore を使用して別のレポ内にレポを配置するよりも、git サブモジュールを使用する利点は何ですか?
私たちは git サブモジュールを調査してきましたが、.gitignore ファイルを使用して別のリポジトリ内にリポジトリを作成するのと比較して、サブモジュールを使用してリポジトリを作成することに (もしあれば) どんな利点があるのか疑問に思っています。
サブモジュールなしの例:
git - サブモジュール内のGitサブモジュール(ネストされたサブモジュール)
gitサブモジュールを他のいくつかのgitサブモジュールで構成し、スーパーgitリポジトリで各サブモジュールのコンテンツをフェッチすることは可能ですか?
私は、いくつかのサブモジュールを保持するgitリポジトリを作成するという明白で素朴なアプローチを使用してこれを実行しようとしました。
次に、このgitリポジトリをサブモジュールとして別のgitリポジトリに追加します。
次に、スーパーgitリポジトリのルートディレクトリからプルしようとしgit submodule init
ますgit submodule update
。しかし、これはサブサブモジュールのフェッチに失敗します。
git - git サブモジュールを「フリーズ」する方法
自分でホストしていないいくつかのリポジトリを使用していますが、それらが利用できないときにアプリケーションをデプロイするとどうなるでしょうか? これは単に起こり得ないことです。
サブモジュールを何らかの形で「フリーズ」して、リポジトリからプルしたときにサブモジュールがすでに初期化されて更新されている方法はありますか?
どんな助けでも大歓迎です。
git - git-archiveでgit-submodulesを処理する必要があります
で作成したtarball内にgitサブモジュールをパックする必要がありますgit-archive
。
1.6.5git-archive
ではgitサブモジュールをサポートしていないことがわかります。
ネットでこのケースを処理するためのスクリプトがいくつかありますが、どれを選択すればよいかわかりません。
これを行うための最良/最も公式な方法は何ですか?