1. ホーム
  2. git

[解決済み] Git で 2 つのブランチの違いを取得する

2023-05-21 03:39:11

質問

以下のようにしました(現実と比較して簡略化しました)。

  • ブランチを作成 ブランチ1 に切り替わりました。
  • 追加されたファイル ファイル1 と既存ファイルの修正 ファイル2 を作成し、これをコミットしました。
  • は必要ないことがわかりました。 ファイル1 が必要であることがわかり、それを削除して、これをコミットしました。

ということで、実際の違いは オリジナルブランチ ブランチ1 のみを変更したものです。 ファイル2 .

このブランチ間の実際の差分を取得し、それを ブランチ2 . 一般的に言えば、ブランチの追加・削除という不要な履歴を取り除きたい。 ファイル1 .

どのように解決するのですか?

ブランチで開始したとします。 master . すると、こうなります。

git diff master Branch1 > ../patchfile
git checkout Branch2    
git apply ../patchfile

また、歴史を書き換えることが目的であるならば、そのために 対話型リベース を使ってコミットをつぶすこともできます。