46

(組み込みの)EGitプラグインv.1.3.0.201202151440-rでEclipse Indigo SR2を使用していますが、コミットする前にすべての変更を簡単に確認する方法を見つけることができませんでした。

私は何年もの間SVNでEclipseを使用していましたが、これは常に非常に簡単でした。私は通常、プロジェクトを右クリックして選択Team->Synchronizeし、最初に変更されたファイルをダブルクリックして(Team Syncパースペクティブで)、Ctrl-.を繰り返し押して1つのファイルのすべての変更を確認し、次のファイルに進みます。コミットメッセージの変更の要約を書きました。

しかしもちろん、gitはSubversionとは大きく異なるため、ワークフローを変更する必要があります。EGitを使用すると、「チーム同期」は、ローカルファイルとリモートリポジトリ間の変更を確認する場合にのみ役立つように見えます(つまり、リモートにプッシュする前)。ローカルリポジトリへの最後のコミット以降の変更を確認する方法が必要です。私は通常、リモートにプッシュする前に変更を(再)レビューすることすら気にしません(もしそうなら、プッシュしようとgit logしているコミットを確認するのと同等の単純なものを好みます)。

プロジェクトを右クリックしてを選択すると、必要なほとんどTeam->Commitすべてのことを実行するウィンドウが表示されます(ステージングするファイルの選択、コミット、コミットメッセージの書き込み、前のコミットの修正など)。比較エディタですべての変更をすばやく簡単に確認することはできませんこの機能が存在しないなんて信じられません!個々のファイルをダブルクリックし、変更を確認し、比較エディターを閉じて、次のファイルをダブルクリックする必要があるようです。それはばかげています!

TL / DR-コマンドラインから簡単に実行できることを実行するための(Eclipseでの)単純なGUIに相当するものを探していますgit vimdiff(vimdiffは、変更されたすべてを循環するための「difftool」としてvimdiffを使用するgitエイリアスです。ファイル)の後にgit commit(おそらく1git addつか2つの間に)続きます。

誰も良い解決策を持っていない場合、他の人がEGitを使用してコミットワークフローをどのように処理するかについて興味があります。私はコマンドラインからうまくコミットしてきましたが(Eclipseがそれについて満足しているわけではありません)、EGitが私にはほとんど役に立たないとは信じられません。おそらく私のgoogle-fuはかつてほど強くはありませんか?

4

3 に答える 3

41

ここで、作業ツリーと任意の参照との違いを確認できると言います。おそらく、Eclipse / EGitの最新バージョン(Juno)を試して、それがさらに良くなったかどうかを確認する必要がありますか?

更新:私はこれを最新のEclipseで試しましたが、私が見る限り、それは正常に機能します。方法は次のとおりです。

これを書いている瞬間、EclipseJuno4.2はあなたが行くべきバージョンです。ダウンロードページでは、必要に応じて複数のパッケージから選択できます。「EclipseIDEforJava Developers」はEGitにバンドルされていますが、Eclipse Marketplace([ヘルプ]メニューの下)を使用して、任意のディストリビューションにEGitをインストールすることもできます。

  • プロジェクトをEclipseにインポートしたら、プロジェクトが「共有」されていることを確認します。

プロジェクトを右クリック->チーム->プロジェクトの共有..->Git

次に、次の手順を実行します。

  • チーム同期パースペクティブに切り替えます。
  • 同期ビューの小さな同期ボタンをクリックします。
  • Gitを選択
  • 同期する適切なブランチを選択します。refs/remotes/origin/master
  • [ローカルのコミットされていない変更を比較に含める]チェックボックスを必ずオンにしてください
  • [完了]をクリックします

ここで、いくつかのファイルを変更して、それらが同期ビューに表示されるのを確認します。変更されたファイルをダブルクリックして、差分を確認します(下のスクリーンショットのように)。

EclipseJunoのスクリーンショット-EGitSynchronizeView

于 2012-06-29T09:58:46.737 に答える
28

「Gitステージング」ビューを知っていますか。変更されたすべてのファイルを追跡し、いつでも変更を確認できます。(これは、コミットダイアログを使用するよりも少し良い場合があります)

別の方法は、確認せずにすべての変更をコミットしてから、履歴ビューを使用して2つのコミットを比較することです(最後の上位のコミットを選択し、右クリックして[互いに比較]を選択するだけです)。このようにして、個々のファイルをダブルクリックし続ける必要はありません。何かを変更する必要がある場合は、いつでも最後のコミットを「修正」できます。(私は通常このアプローチに従います)

于 2012-06-29T04:58:32.580 に答える
3

私はこれをEclipseOxygenの時点で書いていますが、他のバージョンにも適用されるはずです。

  1. チーム同期ビューのオプション1:プロジェクトを右クリック>[比較]>[コミット]。リポジトリにプッシュしていない場合でも、ここで最新のコミットを選択できます。
  2. 差分ビューを使用したオプション2:コミットせずに「差分」バージョンを表示する場合は、プロジェクトを右クリック>チーム>スタッシュ>スタッシュ変更>[追跡されていないファイルを含める]をオンにすることでこれを実現できます。これにより、すべての変更が隠し場所に保存されます。次に、プロジェクト>チーム>隠し場所を右クリックし、保存した隠し場所を選択します。 右上の緑色の矢印をクリックして、コードに隠しておいたすべての変更を再適用します。同じスタッシュウィンドウで、右下に[差分]タブが表示されます。[差分]タブをクリックすると、変更内容が赤/緑で強調表示された差分スタイルで表示されます。隠さずに差分ビューを生成する方法があればいいのにと思いますが、これが私が見つけた唯一の回避策です。
于 2019-06-26T15:10:05.433 に答える