13

を使用して、同じファイルの 2 つのコミット間の差分を取得するにはどうすればよいmagitですか?

直接フォームからこれgitを行うことができます。しかし、私は内部からそれを行う方法がわかりません。リポジトリ全体の差分を返しているようです。これは私にとって非常に問題です。なぜなら、リポジトリが巨大であり、それが原因で (ひいては) 応答しなくなるからです。検索をリポジトリから 1 つのファイルのみに制限するように依頼する方法はありますか?magitmagit-statusdDmagitemacsmagit

私もやっmagit-statusてみました: diff $start_commit..$end_commit -- path/to/file。これは機能しますが、出力は強調表示も折り畳みオプションもない単純なバッファです...

4

4 に答える 4

8

誰かがこれに出くわした場合に備えて、magit でこれを行うことができるようになりました (私はこれを magit-log から行いますが、おそらく他の場所からも行うことができます)。

  1. 入力してmagit d-diff-popupを開きます
  2. 表示するファイルを入力=fして指定します (プロジェクトのルート ディレクトリからの相対パスを入力します)。
  3. 差分r範囲を入力します。たとえば、コミット範囲を尋ねられます4abcde2..HEAD。または、magit-log でコミットの範囲を強調表示すると、範囲はプロンプトなしで自動的に設定されます。

このようにして、強調表示とコードの折りたたみが完了した magit-diff バッファーになります。

于 2017-03-27T16:31:44.187 に答える
5

1つの方法は、この関連する回答vcで提案されているように使用することです-特に. ただし、これはチャンクを折りたたむ (展開する) 可能性のないバッファーを返します。C-u C-x v =

于 2013-05-15T11:49:38.190 に答える
1

M-xやもできますmagit-ediff-compare

次に、古いコミットの SHA を入力してから、比較するファイルのファイル名をHEADすべて同じブランチに入力します。

于 2021-05-14T08:15:52.407 に答える