Closed5

AI Assistant に聞きました(2024/03)

sogaohsogaoh

Git で階層が異なる別リポジトリの変更差分を取り込むことは可能でしょうか

sogaohsogaoh

AI Assistant
はい、Gitではsubmoduleを使うことで、・・・

sogaohsogaoh

submodule を使わないで、という制約があるとしても、可能でしょうか

sogaohsogaoh

AI Assistant
はい、Gitのsubmoduleを使用せずに別のリポジトリの変更差分を取り込むシナリオとして、主に以下の二つの方法が考えられます。

  1. パッチファイルの作成と適用
    別のリポジトリから変更差分を取り込むためには、パッチとして差分をエクスポートし、対象のリポジトリに適用する方法があります。ここではその基本的な手順について説明します。
    最初に、変更差分をエクスポートするリポジトリに移動して、git diffコマンドを使用して差分をパッチファイルとして保存します。
cd [エクスポートするリポジトリのパス]
git diff > changes.patch

次に、このパッチファイルを取り込みたいリポジトリに移動して、git applyコマンドを使用してパッチを適用します。

cd [取り込みたいリポジトリのパス]
git apply [パッチファイルのパス]

この方法では、ファイルのパスが完全に一致している必要があるという制限がありますので、階層が異なる場合には手動でパッチファイルを編集してパスを調整する必要があります。

  1. ファイルのコピー
    別の簡易的な方法としては、単純に対象の変更を含むファイルをコピー&ペーストする方法があります。ただし、この方法ではgitの履歴情報などは失われます。また、大規模なプロジェクトや多数のファイルに対する変更を反映するには手間がかかる可能性があります。
sogaohsogaoh

[myJudge]
1 を試みたがうまくいかなかったので大したファイル数でもなかったし 2 を適用した

このスクラップは2024/03/31にクローズされました