Gitにおけるサブプロジェクトとサブモジュールの違い?
2023-08-12 02:25:46
質問
Gitにおいて、quot;submodule" (git submoduleコマンドで作成・管理するもの)とquot;subproject" (文字通り、あるGitリポジトリの中に別のGitリポジトリを入れるだけ)は違いますか、違うとしたらそれは何でしょう?
これに関して私が見つけることができたすべてのドキュメントは、かなり曖昧です (そしていくつかのケースでは、矛盾しています)。私の疑念は、違いはないということですが、私はそれを確認し、Git 初心者が見つけることができるように質問を残すべきだと考えています。
どのように解決するのですか?
A サブプロジェクト は、3 種類のネストのうちの 1 つを表す総称です。
-
サブモジュール
は、スーパープロジェクトからサブプロジェクトへの半固定的な参照を提供し、git に統合されます。サブプロジェクトがある場合に使用するとよいでしょう。
- が他の誰かによって開発されており、スーパープロジェクトの管理下になく、異なるリリースサイクルに従っている場合。
- はスーパープロジェクト間で共有されるコードを含んでいます (特にバグフィックスや新機能を他のスーパープロジェクトに伝播させることが意図されている場合)。
- 日常的な git コマンドのパフォーマンスを低下させるような、巨大かつ/または多くのファイルを分離します。
- サブツリー は、スーパープロジェクトのリポジトリにインポートされるサブプロジェクトのリポジトリを、通常はスーパープロジェクトの特定のサブディレクトリにある、完全な履歴を持つリポジトリのネイティブな一部とするようにします。
- ラッパー これは、関連するサブプロジェクトとスーパープロジェクトに複数のリポジトリ管理機能を提供するものです。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] git add -A」と「git add .」の違い。
-
[解決済み】"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 pull エラー: .git/FETCH_HEAD を開けない: パーミッションが拒否されました。
-
git pushで "Updates were rejected because your current branch is behind "というエラーが報告される。
-
GitのPlease enter a commit messageで、このマージが必要な理由を説明してください。
-
なぜこのマージが必要なのかを説明するコミットメッセージを git に入力してください。
-
git push issues
-
[解決済み] チェリーピックのコンフリクトを解決するにはどうしたらいいですか?
-
[解決済み] GitHubで、既存のレポを追加するときにすべてのブランチをプッシュするにはどうしたらいいですか?
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] プル前にローカルとGitHubのリポジトリの差分を確認する方法 [重複]について
-
[解決済み] git add --patch' で新しいファイルをインクルードする?