3

Maven からインポートされたプロジェクトで作業しています (ただし、ビルド フレームワークは重要ではないと思います)。

とにかく..プロジェクト内のファイルの1つを右クリックしてGit(私のSCMシステム)を選択すると、「同じリポジトリバージョンと比較する」オプションが表示されます。ただし、このファイルを含むフォルダーを右クリックすると、このオプションはグレー表示されます。

Git / Show History をリクエストできますが、クリックしてエントリ (最新のリビジョンなど) をクリックし、[ローカルと比較] を選択すると、「ファイルには適用されません: file://」というエラー ダイアログが表示されます。ホーム/私/プロジェクト/etc/etc....」

過去にIDEAでこれを行ったことがあります..今はうまくいきません..何か壊れたり変わったりしましたか..?または、それがどのように行われるかを忘れましたか?

ありがとう !クリス

4

2 に答える 2

2

以前の投稿で質問に答えました。今、私(またはおそらくこの状況で他の誰か)が本当に望んでいるのは答えではないことに気づいています。
上記の回答により、最後のチェックインからファイルのツリービューを取得し、プロジェクト内のファイルの現在の状態とチェックインされたバージョンとの違いを確認できます。それは私が欲しいものの一種です。
ただし、これにより、前回チェックインしたファイルの差分のみを表示するように制限されます。

前回ファイル、、、およびをaチェックbインcし、前回のチェックイン以降に、、、およびを変更した場合はどうaなりbますxか?
さて、あなたはこの方法を使っての違いをレビューする限りは見えませんx

しかし、別の方法があります...それは一種のハックですが、それは機能します。あなたがすることは:

  1. プロジェクトの現在の内容の再帰コピーを/tmp/currentに作成します
  2. git stashプロジェクトを最後のチェックインの状態にするために実行します(変更なし)。
    後続の手順で回復できることを心配しないでください。
  3. 次に、Intellijのプロジェクトビューの最上位フォルダーに移動します(コピー先と同じフォルダーを/tmp/current右クリックして、比較対象として' Compare Directory With'選択します。/tmp/current
  4. これで、最新のチェックインからのすべての差分が適切に整理されたリストに表示されます。
  5. レビューが終了したら、' git stash pop'を実行して、プロジェクトがあるフォルダーに変更を戻します。

これを行う簡単な方法がない理由はわかりません。
IntelliJにバグを報告し、もっと便利なものを求めます。

于 2012-10-26T00:34:42.413 に答える
1

私はこの質問に自分で答えます(興味のある人のために)。

これを行うには、差分を調べたいリビジョンを選択し、影響を受けるすべてのパスを表示をクリックします
これにより、そのチェックイン内のファイルのツリー ビューが表示されます。

このツリー ビューを使用すると、任意のアーティファクトで ' ' を選択できShow Diff、そのリビジョンの直前のアーティファクトの状態と比較されたリビジョンのアーティファクトの状態の違いを確認できます。

これは基本的に私が欲しいものです.差分は非常に役に立ちます。

現在、リポジトリ内の 2 つの任意のリビジョン (SHA) 間の差分を取得する方法がわかりません。この手法は、特定のリビジョンとその直前のリビジョンを差分する場合に機能するようです。

GIT リポジトリ リビジョンのサイド バイ サイド diff を取得する方法について、スタック オーバーフローに関する他の質問が表示されます。これでうまくいくようです (ほとんどの場合)。
これは、Intellij が非常に優れているもう 1 つの理由です (私は Intellij で働いていませんが、単に製品が好きです)。

于 2012-10-02T21:39:13.603 に答える