IntelliJ IDEA 2020.1ヘルプ

Git ブランチを管理する

Gitでは、分岐は強力なメカニズムであり、たとえば機能の開発や、コードベースの特定の状態をリリースのために凍結する必要がある場合などに、メインの開発ラインから分岐することができます。

IntelliJ IDEAでは、ブランチのすべての操作はGit ブランチポップアップで実行されます: これを呼び出すには、ステータスバーのGitウィジェットをクリックします(現在チェックアウトされているブランチの名前が表示されます)。

Git widget

Gitツールウィンドウのブランチペインで、ブランチを管理し、複数のブランチでバッチ操作を実行することもできます。

Branches pane

ブランチをお気に入りとしてマーク

ブランチが多い場合は、お気に入りのブランチだけを表示したい場合があります。マスター ブランチは、デフォルトでお気に入りとしてマークされています。お気に入りのブランチは、常にブランチポップアップの上部とGitツールウィンドウのブランチペインに表示されます。

  • ブランチをお気に入りとしてマークするには、ブランチポップアップで、マウスカーソルをブランチ名の上に置いて、左側に表示される星形の輪郭をクリックします。

    favourite branch

    Gitツールウィンドウのブランチペインでブランチを選択して、ツールバーの the Star icon をクリックすることもできます。

  • お気に入りではないブランチを非表示にするには、ブランチポップアップの下部にあるお気に入りのみを表示をクリックします。

新規ブランチの作成

現在のブランチから新しいブランチを作成する

  1. ブランチポップアップで新規ブランチを選択するか、Gitツールウィンドウのツールウィンドウのブランチペインで現在のブランチを右クリックして、新規ブランチを選択します。

  2. 表示されたダイアログでブランチ名を指定し、そのブランチに切り替える場合はブランチをチェックアウトするオプションが選択されていることを確認してください。

    新しいブランチは、現在のブランチ HEADから始まります。

選択したブランチから新しいブランチを作成する

  1. ブランチポップアップまたはGitツールウィンドウのブランチペインで、新しいブランチを開始するローカルまたはリモート ブランチを選択し、選択からの新しいブランチを選択します。

  2. 表示されたダイアログでブランチ名を指定し、そのブランチに切り替える場合はブランチをチェックアウトするオプションが選択されていることを確認してください。

選択したコミットから新しいブランチを作成する

  1. ログ・ビューで、新しいブランチの開始点として機能するコミットを選択し、コンテキストメニューから新規ブランチを選択します。

  2. 表示されたダイアログでブランチ名を指定し、そのブランチに切り替える場合はブランチをチェックアウトするオプションが選択されていることを確認してください。

ブランチをチェックする (git-checkout)

ブランチを新しいローカルブランチとしてチェックアウトする

他の誰かが作成したブランチで作業したい場合は、それをチェックアウトして、そのブランチのローカルコピーを作成する必要があります。

リモート ブランチの完全なリストがあることを確認するには、ブランチポップアップでフェッチ icons actions refresh をクリックします。

the Fetch icon
  1. ブランチポップアップまたはGitツールウィンドウのブランチペインで、ローカルにリモート・ブランチからチェックアウトするブランチを選択するか、プロジェクトに複数のルートと同期ブランチコントロールが有効になっている場合は共通リモート・ブランチを選択し、無効になっている場合はリポジトリ | リモート・ブランチから選択します。

  2. アクションのリストからチェックアウトを選択します。

  3. 必要に応じてこのブランチの新しい名前を入力するか、リモート ブランチに対応するデフォルト名をそのままにして、OKをクリックします。

    新しいローカルブランチは、原点リモート ブランチを追跡するように設定されます。

ブランチを切り替える

マルチタスクの場合、無関係の変更をコミットするためにブランチ間をジャンプする必要があります。

  1. ブランチポップアップまたはGitツールウィンドウのブランチペインで、ローカル・ブランチに切り替えるブランチを選択し、使用可能な操作のリストからチェックアウトを選択します。

  2. 次に起こることは、まだコミットしていないローカルの変更と、チェックアウトしようとしているブランチとの間に矛盾があるかどうかによって異なります。

    • 作業ツリーがきれいな場合(つまり、コミットされていない変更がない場合)、またはローカルの変更が指定されたブランチと競合しない場合、このブランチはチェックアウトされます(通知はIntelliJ IDEAウィンドウの右下に表示されます))

    • ローカルの変更がチェックアウトによって上書きされる場合、IntelliJ IDEAは、選択されたブランチをチェックアウトできないファイルのリストを表示し、強制チェックアウトスマートチェックアウトの選択を提案します。

      強制チェックアウトをクリックすると、コミットされていないローカルの変更が上書きされ、失われます。

      スマートチェックアウトをクリックすると、IntelliJ IDEAはなりシェルブ、コミットされていない変更を選択しブランチをチェックアウトし、変更をunshelve。アンシェルフ操作中に競合が発生した場合、変更をマージするように求められます。詳細については、競合の解決を参照してください。

ブランチの比較

ブランチを現在のブランチと比較する

2つのブランチが互いにどのように分岐したかを確認する場合は、比較できます。

  • ブランチポップアップまたはGitツールウィンドウのブランチペインから、現在のブランチと比較するブランチを選択し、現在と比較を選択します。

  • 新しいタブがGitツールウィンドウに追加され、選択したブランチに存在し、現在のブランチには存在しないすべてのコミットが一覧表示されます。

    スワップブランチリンクをクリックして、他のブランチと比較するベースと見なされるブランチを変更できます。

  • 2つのブランチで異なるすべてのファイルのリストを表示するには、Ctrl+Aをクリックします。変更されたファイルペインは、相違点を含むすべてのファイルをリストします。

ブランチと作業ツリーを比較する

ブランチを現在のブランチと比較する以外に、現在のブランチのローカル状態と比較することができます。これは、ローカルでコミットされていない変更がある場合に役立ちます。

  • ブランチポップアップまたはGitツールウィンドウのブランチペインから、ローカルの作業ツリーと比較するブランチを選択し、作業ツリーとの差分表示を選択します。

選択したブランチと現在のブランチのローカル状態で異なるすべてのファイルのリストが、別のウィンドウに表示されます。

スワップブランチリンクをクリックして、他のブランチと比較するベースと見なされるブランチを変更できます。

ブランチを削除

機能ブランチからの変更を開発のメインラインに統合した後、不要になったブランチを削除できます。

  1. 今後の作業に使用するブランチを確認してください。

  2. ブランチポップアップまたはGitツールウィンドウのブランチペインで、削除するブランチを選択し、削除を選択します。

ブランチを削除すると、削除されたブランチを元に戻すことができる通知が右下隅に表示されます。

deleted branch notification

ブランチが上流のブランチまたは現在のブランチにまだマージされていないコミットを含んでいたとしても、すぐに削除されます( git branch --D または git branch --delete --force コマンドと同等)が、通知には見ることができるリンクも含まれます。マージされていないコミット

削除されたブランチがリモート ブランチを追跡していた場合、この通知にはリモート ブランチを削除するリンクもあります。

同期ブランチ制御を構成する

マルチルートリポジトリを使用している場合は、単一のリポジトリのようにすべてのルートですべてのブランチ操作(チェックアウト、マージ、削除など)を同時に実行するようにIntelliJ IDEAを構成できます。操作が少なくとも1つのリポジトリで失敗した場合、IntelliJ IDEAは、成功したリポジトリでこの操作をロールバックすることを提案することによって、ブランチが分岐するのを防ぎます。

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sバージョン管理 | Gitを選択します。

  2. すべてのルートに対してブランチ操作を実行するオプションを選択します(このオプションは、プロジェクトに複数のルートがある場合にのみ使用できることに注意してください)。

最終更新日: 2020年6月2日

関連ページ:

Gitを使用して複数の機能を同時に処理する

ときどき、未完成のものを使って別のタスクに切り替えてから、それらに戻る必要があります。IntelliJ IDEAはあなたの作業を失うことなくいくつかの異なる機能に便利に取り組むためのいくつかの方法を提供します:保留中の変更はスタッシュまたはシェルブできます。スタッシュの変更はシェルブ付けと非常によく...

ログタブ

このタブは、バージョン管理にGitまたはMercurialを使用している場合にのみ使用できます。This tab shows all local and remote branches, and all changes committed to all branches, or to aspecif...

Gitの競合を解決する

チームで作業しているときに、現在作業中のファイルに誰かが変更をプッシュするという状況に遭遇する可能性があります。これらの変更が重複しない場合(つまり、異なるコード行に変更が加えられた場合)、競合するファイルは自動的にマージされます。しかし、同じ行が影響を受けた場合、Gitは無作為に一方を他方を選ぶこ...

タスクとコンテキスト

プロジェクトで作業する場合は、完了する必要のある小さな作業で作業を整理できます。これらは、自分で設定したタスクです。IntelliJ IDEAでは、大きな作業を小さなタスクに分割し、変更リストに関連付けることができます。または、これらは課題トラッカーからのタスクである場合があります。例:Intell...

ブレークポイント

ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、単純な場合(たとえば、コード行に到達したときにプログラムを一時停止する場合)や、より複雑なロジック(追加の条件に対するチェック、ログメッ...

1つのGit ブランチから別のGitに変更を適用する

Gitでは、あるブランチから別のブランチへの変更をブランチのマージ、ブランチのリベース、またはあるブランチから別のブランチに別々のコミットを適用する (チェリーピック)に統合するいくつかの方法があります。IntelliJ IDEAでは、ブランチのすべての操作はGit ブランチポップアップで実行されま...