blog

IDEAエディターでGitコードのコンフリクトを効率的に解決する。

プロジェクト開発チームが一緒にプロセスで動作するように、コードの競合は避けられない、今日私は競合を解決するための実用的かつ効率的な方法を共有します。シナリオ:uatから同じブランチの2つを切り取り、変...

Jun 17, 2020 · 1 min. read
シェア

プロジェクトの開発チームは、コードの過程で一緒に働くために競合は避けられない、今日は競合を解決するための実用的かつ効率的な方法を共有したいと思います。

シナリオ

uatから2本の同じ枝を切り出し、それぞれchangeA、changeBと名付け、A、Bで展開します。

どちらもそのブランチのクラスの末尾にカスタムメソッド changeA() と changeB() を追加しており、コミットをマージする際に changeA ブランチを先にマージして changeB を後からマージしても、あるいはその逆でも、最後にマージされた方は必ず衝突にぶつかります。

食器洗い大作戦

まずchangeBブランチをuatにマージし、次にchangeAをマージしたとします。

写真の通り:

ステップ01

赤いボックスをダブルクリックして、マージインターフェイスを表示します。

Step02:

実際のコード・ロジックに基づいて競合を解決します。図のように、Apply をクリックします。

戦いの後、次は通常のgitのコミットプロセスを通過することができ、コミット、プッシュ、この時点で追加の紛争解決のコミットの元の基礎になります。

SVNやGitのコマンドラインでコンフリクトを解決する方法と比べると、IDEAは驚くほど効率的にコンフリクトを解決します。

作者のIDEAはIntelliJ IDEA 2019.1.3 x64版です。

Read next

SpringCloudベースの列挙値の国際化処理プラクティス

永続層のストレージの最適化ルールに由来し、int型はvarchar型よりもはるかに効率的であり、プラクティスのこのセットはまた、非常に非常にみんなに受け入れられています。 状態値のマッピングの定数定義には、フロントエンドとバックエンドの両方が関与しており、通信コストは一面であり、さらに、状態値に変更がある場合は、両方のグループで同時に変更する必要があります。 永続化層では、状態値を格納するint型を確保するために...

Jun 17, 2020 · 6 min read