問題タブ [git-subrepo]
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 サブモジュールを作成する
私のリポジトリとはまったく異なるリモートリポジトリからプッシュおよびプルできるsub
リポジトリ内にリポジトリが必要です。だから私はサブモジュールが欲しい。しかし、サブモジュールをローカルで作成してから、リモートにプッシュしたいと考えています。まだどこにも存在しません。main
main
私が見たすべての例は、リモートリポジトリをサブモジュールにプルすることを含みます。これは、サブモジュールが最初に作成される方法です。
サブモジュールを作成し、いくつかのコミットを行い、それらを問題のリモートリポジトリにプッシュする方法はありますか?
git - 1 つのディレクトリで複数の依存プロジェクトをバージョン管理する方法 (例: web2py、django)
次の構造を示すプロジェクトを最適に処理し、バージョン管理するためのアドバイスをいくつか得たいと思います。
親プロジェクト (多くのプロジェクト間で共有) から、特定のディレクトリ構造とファイルを取得する必要があります。
この親プロジェクトから、ディレクトリにファイルを追加するいくつかの子の依存関係が派生します。
状況は次のようになります (ファイル/ディレクトリが属するプロジェクトの名前は括弧内にあります)。
具体的に言うと、私の場合、親プロジェクトは web2py/django プロジェクトであり、そこからいくつかのサブプロジェクトを派生させたいと考えています。
問題は今、
- 各プロジェクトのバージョン管理方法は?
- 親プロジェクトと子プロジェクトのリポジトリを別々に用意する必要がありますか?
- 親プロジェクトをある種のパッケージ/ライブラリとして扱う必要がありますか?
私は次のアプローチについて考えました:
git submodule
orの使用git subtrees
: 親プロジェクトから必要な非常に厳格なディレクトリとファイル構造のため、それは機能しません- ローカル プロジェクトの複数
git remotes
、つまり 2 つgit origins
、親プロジェクトに 1 つ、子プロジェクトに 1 つ: このソリューションに反対するのは、プロジェクトをどこかにデプロイするために、単純に実行するだけではなくgit clone
、複数を手動で設定する必要があることgit remote -v origin
です。 - 親プロジェクトをライブラリとして扱い、これをパケット マネージャー経由でインストールしてから、インストールされたファイルを子リポジトリ内にバージョン管理するか、次の場所に配置します
.gitignore
。それを実現するためのツール。おそらく、次のようなコマンドを使用して github リポジトリから特定のバージョンをインストールできるツールが存在します。some_paket_manager install path/to/git/repo==v.0.0.9
- 親プロジェクトからのファイルのコピー & ペースト: その手作業を避けようとしています。
git - sourcetree を使用して、Git プロジェクトをサブモジュールをそのまま使用して新しいリポジトリにコピーする
私が達成しようとしている のは、さまざまなリポジトリのサブモジュールのライブラリと一緒にまとめたワードプレスの「スターターテーマ」をコピーしたいということです。(例: normalize-css または scrollmagic)。現在のプロジェクト フォルダーでは問題なく動作しますが、テーマを新しいフォルダーにコピーし、親テーマ フォルダーの名前を変更してから新しいリポジトリに追加しようとすると、sourcetree に表示されません。通常のファイルと同様に、サブモジュール ファイルをメイン リポジトリに追加したいだけです。
試したこと: まず、スターター テーマ フォルダーを新しい場所にコピーし、新しい名前を付けました。次に、次の領域の新しいフォルダー名を反映するようにファイルを更新しました。「プロジェクトルート.gitmodulesファイル」のサブモジュールフォルダー内にある「モジュール.gitファイル」。また、プロジェクト ルートの .git フォルダーに、modules フォルダーも表示されることに気付きました。私はそれをどうするかわかりません。それを新しい.gitフォルダーの場所にコピーし、テストとしていくつかの適切なフォルダー名の変更で構成ファイルを更新しましたが、何もしなかったようです。サブレポも試しましたが、それにも問題がありました。
これは、新しいプロジェクトごとに手動で追加する必要がありますか、またはこれらを新しいリポジトリに転送する方法はありますか?
元のフォルダー構造 | 以下の新しいフォルダー構造の比較(役立つ場合)
1st は最初のブランチで、New はコピーしたブランチです。