GoLand 2026.1 Help

Git リポジトリに変更をコミットしてプッシュする

Git リポジトリに新しいファイルを追加するか、すでに Git バージョン管理下にあるファイルを変更し、現在の状態に満足したら、作業の結果を共有できます。 これには、ローカルに コミットしてリポジトリのスナップショットをプロジェクト履歴に記録し、次にリモートリポジトリに プッシュして他のユーザーが使用できるようにすることが含まれます。

Git ユーザー名を設定する

Git は、コミットを ID に関連付けるために、ユーザー名を知っている必要があります。 ユーザー名を設定していない場合、GoLand は、最初に変更をコミットしようとしたときにユーザー名の指定を求めます。

  • ターミナルを開き、次のいずれかのコマンドを実行します:

    • マシン上のすべての Git リポジトリに名前を設定するには、 $ git config --global user.name "John Smith" を使用します

    • 単一のリポジトリの名前を設定するには、 $ git config user.name "John Smith" を使用します

変更をローカルでコミットする

  1. 左側にある垂直方向の コミット ツールウィンドウ(Alt+0 )を開きます。

  2. 変更をコミットする準備ができたら、対象のファイルまたは変更リスト全体を選択します。

    Ctrl+K を押すと、アクティブな変更リスト全体が選択されます。

    バージョン管理外ファイル ノード以下のファイルも選択できます。GoLand はこれらのファイルを 1 ステップでステージングしてコミットします。

  3. 新しいローカルコミットを作成するのではなく、 既存のローカルコミットにローカルの変更を追加する場合は、 修正 を選択し、 をクリックして変更するコミットを選択します。

  4. コミットメッセージを入力します。 コミットメッセージ履歴ボタン をクリックして、最近のコミットメッセージのリストから選択できます。

    コミットをプッシュする前に、後で コミットメッセージを編集することもできます。

  5. コミットチェックを実行したり、コミット後にファイルをサーバーにアップロードしたり、詳細オプションを使用してコミットしたりする必要がある場合は、右下隅の ギア アイコン をクリックするか、 Ctrl+O を押します。

    高度なコミットオプションポップアップ

    次のオプションを使用できます:

    • 作成者: 他の人による変更をコミットしている場合は、これらの変更の作成者を指定できます。

    • Sign-off コミット: チェックインしようとしている変更が自分によって行われたことを証明するため、またはコミットするコードに対する責任を負うことを証明するためにコミットをサインオフする場合に選択します。

      このオプションを有効化すると、コミットメッセージの末尾に次の行が自動的に追加されます: Signed off by: <username>

    • コミットチェック 領域で、選択したファイルをローカルリポジトリにコミットする前に GoLand で実行したいアクションを選択します。

      次のオプションを使用できます:

      • コードの整形: プロジェクトコードのスタイル設定に従ってコードフォーマットを実行します。

      • コードの再配置: 配置ルールの設定に従ってコードを再配置します。

      • インポートの最適化: 冗長なインポートステートメントを削除します。

      • クリーンアップ: コードクリーンアップインスペクションからのクイックフィックスをバッチ適用します。 プロファイルを選択 をクリックして、IDE がインスペクションを実行 するプロファイルを選択します。

      • コピーライトの更新 :選択したコピーライトプロファイル - スコープの組み合わせに従い、 コピーライト通知を追加または更新します。

      • Go fmt​​(フォーマット)​: go fmt を使用してコードをフォーマットします。 Go ツールの詳細については、「Go ツール 」を参照してください。

    • 高度なコミットチェック エリアでは、次のオプションが利用できます。

      • コミット完了後に高度なチェックを実行する: このオプションを有効にすると、コミットが完了した 後に 、選択した高度なコミットチェックが実行されます。

        このオプションを有効化すると、高度なコミットチェックが一部失敗した場合でも、変更はコミットされます。

      • コードの解析: それらをコミットしながら変更されたファイルを分析します。 プロファイルを選択 をクリックして、IDE がインスペクションを実行する インスペクションプロファイルを選択します。

        例: go.mod ファイルでローカルパスを置き換えた場合、GoLand は変更をコミットする前に通知を表示できます。 これは、これらの置換が誤ってコミットされた状況を回避できます。

        この機能を有効にするには、 コミット ダイアログ設定で コードの解析 チェックボックスを選択します。

      • TODO の確認: 指定されたフィルターに一致する TODO アイテムを確認します。 構成 をクリックして 既存の TODO フィルターを選択するか、 TODO 設定ページを開いて適用する新しいフィルターを定義します。

      • 実行構成: コミットチェックとしてテストを実行します実行構成 の近くにある 構成の選択 をクリックし、実行する構成を選択します。

  6. 準備ができたら、 コミット または コミットとプッシュCtrl+Alt+K )をクリックして、コミットの直後に変更をリモートリポジトリにプッシュします。 リモートにプッシュされる前に、現在のコミットと他のすべてのコミットを確認できます。

ファイルの一部をコミットする

特定のタスクに関連する変更を加えると、同じファイルに影響を与える他の無関係なコード変更も適用される場合があります。 このような変更をすべて 1 つのコミットに含めることは、確認、 リバートチェリーピックなどを行うのが困難になるため、適切なオプションではない場合があります。

GoLand では、このような変更を以下のいずれかの方法で個別にコミットできます:

コミットしたいチャンクと特定の行を選択する

  1. コミット ツールウィンドウ(Alt+0 )を開きます。

  2. 選択したファイルのリポジトリバージョンとローカルバージョンの違いを表示するには、 コミット ツールウィンドウ (Alt+0) で、ツールバーの diff アイコン。 をクリックするか、 Ctrl+D を押します。

  3. コミットしたい修正済みまたは新規追加されたコードの各チャンク横のチェックボックスを選択し、他の変更は未選択のままにします:

    GoLand: 部分コミットダイアログ
  4. チャンクから特定の行のみをコミットする場合は、含める行を右クリックし、 チャンクを分割して選択した行をコミットに含める を選択します。

    GoLand: コンテキストメニューに、現在の行をコミットに含めるオプションを追加する

    またはガター上にマウスポインターを移動し、コミットに含めたい行もしくは除外したい行の横のチェックボックスをオン・オフします。

  5. コミット をクリックしてください。 選択されていない変更は現在の変更リストに残るため、別々にコミットすることができます。

エディターから選択した変更をコミットする

すでに変更をコミット済みで何か漏れがあった場合でも、エディターからすぐに更新をコミットできます。

  1. エディターでファイルを変更するときは、ガターで対応する 変更マーカーをクリックします。

  2. 表示されるツールバーにコミットメッセージを入力し、 この変更をコミット をクリックします。

    インラインコミットフィールド

    コミットメッセージフィールドで 修正 をクリックすると、ローカルの変更が最新のコミットに追加されます。

変更を異なる変更リストに入れる

  1. エディターでファイルを変更するときは、ガターで対応する 変更マーカーをクリックします。

  2. 表示されるツールバーで、変更したコードチャンクのターゲット変更リストを選択(または新しい変更リストを作成)します:

    部分コミットの変更リスト
    部分コミットの変更リスト
  3. 各変更リストを別々にコミットします。

ローカルの変更を確認する方法をカスタマイズする

GoLand には、コミット前にローカルの変更をレビューするワークフローをカスタマイズできるさまざまな設定があります。

コミットツールウィンドウをカスタマイズする

コミット ツールウィンドウ(Alt+0 )の位置と動作は、推奨するワークフローに合わせて変更できます。

  • コミットインターフェースは、ダイアログのように見える別のウィンドウとして開くことができますが、非ブロッキング (または非モーダル) のままです。

    コミット ツールウィンドウ(Alt+0 )で、 オプション をクリックし、 表示モード | ウィンドウ を選択します。 ウィンドウを常に IDE の前面に表示するには、 表示モード | フロート を選択します。

  • コミット ツールウィンドウを、ローカル変更のリストを含むウィンドウとして機能するように設定し、変更をコミットする準備ができたらコミットコントロールをオンにすることができます (コミットCtrl+K を使用)。

    設定 | 拡張設定 | バージョン管理 で、 コミットのコントロールを切り替える チェックボックスを選択します。

  • コミット ツールウィンドウは、 Git ツールウィンドウ Alt+9ログ タブ内の ローカルの変更 タブになることができます。

    設定 | 拡張設定 | バージョン管理 で、 コミットツールウィンドウを有効にする チェックボックスをオフにします。

差分ビューアーの動作をカスタマイズする

  1. コミット ツールウィンドウ(Alt+0 )には、変更されたファイルのリストが表示されます。 変更されたファイルをダブルクリックすると、差分ビューアーまたはソースファイルが開きます。

    オプション をクリックし、 ダブルクリックで表示 を選択してから、希望するオプションを選択します。

    • diff を選択すると、変更されたファイルをダブルクリックしたときに常に差分ビューアーが開き、変更内容を確認できます。

    • ソース は、編集できるように常にファイル自体を開きます。

  2. 次のいずれかの設定を使用して、差分ビューアーをエディターまたは別のウィンドウで開くように設定することもできます。

    • 差分ビューアーで、ツールバーの 設定 をクリックし、 別ウィンドウで差分を表示 を選択します。

    • 設定 | 詳細設定 | バージョン管理 で、 エディタータブで diff を開く チェックボックスをオフにします。

Git ステージングエリアを使用して変更をコミットする

変更されたファイルが自動的にステージングされる 変更リストを使用するのではなく、コミットのために変更を ステージングする(英語)という概念に慣れている場合は、 Ctrl+Alt+S を押して設定を開き、 バージョン管理 | Git を選択してから、 ステージングエリアを有効化 チェックボックスを選択します。

Git ステージングエリア

ステージングエリアを使うと、同一ファイルの変更(重複する変更も含む)を個別にコミットしやすくなり、エディターからフォーカスを移さずに、どの変更が既にステージ済みか確認できます。

コミットのステージ変更

  1. 次のいずれかを実行します:

    • ファイル全体をステージングするには、 コミット ツールウィンドウ (Alt+0) でこのファイルを選択し、その右側にある 追加ボタン をクリックするか、 Ctrl+Alt+A を押します。

      コミットツールウィンドウからファイル全体をステージングする
    • ファイル内の特定のチャンクをステージングするには、エディター内で変更チャンク横のガターにある 変更マーカーをクリックし、 ステージング をクリックします。

      エディターから変更をステージングする

      ステージ済みの変更(GoLand 外でステージングしたものも含む)は、エディター内で白抜きの変更マーカーで表示されます:

      段階的な変更のガターマーカー
    • コードチャンクではなく 1 行などの細かな変更、あるいは 1 行に対する複数の変更をステージングするには、 コミット ツールウィンドウ(Alt+0 )で、変更を含むファイルを選択し、コンテキストメニューから HEAD、ステージ済み、ローカルバージョンの比較 を選択します。

      これにより三方向の 差分ビューアーが開き、左ペインにはリポジトリバージョン、右ペインにはローカルバージョン、中央ペインは変更をステージングするために編集できる完全なエディターになります。

      ステージはインタラクティブに変化する
  2. 準備ができたら、 変更をローカルでコミットする説明に従って変更をコミットします。

変更をリモートリポジトリにプッシュする

変更をプッシュする前に、 リモートと同期し 、競合を避けるためにリポジトリのローカルコピーが最新であることを確認してください。

GoLand を使用すると、任意のブランチから 追跡ブランチや他のリモートブランチへ変更をアップロードできます。

  1. 次のいずれかを実行します:

    • 現在のブランチから変更をプッシュするには、 Ctrl+Shift+K を押すか、メインメニューから Git | プッシュ を選択します。

    • リモートを持つローカルのブランチから変更をプッシュするには、VCS ウィジェットでこのブランチを選択し、アクションのリストから プッシュ を選択します。

    • コミットをいくつか行ったが、まだリモートブランチにプッシュしたくない場合は、 Git ツールウィンドウ (Alt+9) の ログ タブで、プッシュする最後のコミットを選択し、アクションリストから ここまでのすべてをプッシュ… オプションを選択します。

    コミットのプッシュダイアログ が開き、すべての Git リポジトリ(マルチリポジトリプロジェクトの場合)が表示され、最後のプッシュ以降に各リポジトリの現在のブランチで行われたすべてのコミットが一覧表示されます。

    コミットのプッシュダイアログ

    ここまでのすべてをプッシュ… オプションを選択した場合は、選択したコミットハッシュまでのすべてのコミットのリストが表示されます。

    同期的に制御されていない複数のリポジトリを使用するプロジェクトがある場合、デフォルトでは現在のリポジトリのみが選択されます (同期リポジトリ制御の有効化の詳細については、 バージョン管理設定: Git を参照してください)。

  2. リポジトリにリモートがない場合は、 リモートの定義 リンクが表示されます。 このリンクをクリックして、表示されるダイアログでリモートの名前と URL を指定します。 これは保存され、後で Git | リモートの管理 経由で編集できます(詳細は リモートリポジトリを追加を参照してください)。

  3. プッシュ先のターゲットブランチを変更したい場合は、ブランチ名をクリックします。 ラベルがテキストフィールドに変わり、そこで既存のブランチ名を入力するか、新しいブランチを作成できます。 右下隅にある すべてのターゲットを編集 リンクをクリックして、すべてのブランチ名を同時に編集することもできます。

    ローカルのブランチを変更することはできません。選択された各リポジトリの現在のブランチがプッシュされます。

  4. 変更をプッシュする前にプレビューしたい場合は、必要なコミットを選択してください。 右側のペインには、選択したコミットに含まれている変更が表示されます。 ツールバーのボタンを使ってコミットの詳細を調べることができます。

    コミットの作成者が現在のユーザーと異なる場合、このコミットはアスタリスクでマークされます。

  5. コミット時にタグをプッシュするには、 タグのプッシュ チェックボックスを選択します。

    デフォルトでは、このチェックボックスを選択しない限り、 プッシュ 操作を実行すると、タグはリモートリポジトリに送信されません。

    • 選択したブランチに属していないタグ(git push --tags に相当)を含む、すべてのタグをプッシュしたい場合は、 すべて を選択します。

    • 選択しようとしている選択したブランチに属するタグだけをプッシュしたい場合は、 現在のブランチ を選択します(Git 1.8.3 以降で利用可能な git push --follow-tags に相当)。

  6. 準備ができたら プッシュ ボタンをクリックし、ドロップダウンメニューから実行する操作を選択します: プッシュ または 強制プッシュgit push --force-with-lease と同等)。

    これらの選択肢は、現在のブランチが 保護されたブランチ フィールドにリストされていない場合にのみ利用できます(バージョン管理設定: Git を参照)。それ以外の場合は、 プッシュ 操作のみを実行できます。

プッシュが拒否された場合、作業コピーを更新する

作業コピーが古いため プッシュ が拒否されると、 Git 設定ページの 現在のブランチのプッシュが拒否された場合に自動更新する オプションが 設定 ダイアログで選択されていない場合、GoLand は プッシュが拒否されました ダイアログを表示します。 以下を実施:

  1. プロジェクトで複数の Git リポジトリを使用している場合は、それらのうちどれを更新するかを指定します。 プッシュ が拒否されたかどうかに関係なく、すべてのリポジトリを更新する場合は、 すべてのリポジトリを更新する オプションを選択します。 このオプションをオフにすると、影響を受けるリポジトリのみが更新されます。

  2. このダイアログで選択した更新メソッドでプッシュが次回拒否されたときに、GoLand にアップデートプロシージャをサイレントに適用させたい場合は、 更新メソッドの選択を記憶し、今後は自動で更新する オプションを選択してください。

    このダイアログを終了すると、 設定 ダイアログの Git 設定ページにある 現在のブランチのプッシュが拒否された場合に自動更新する チェックボックスが選択され、適用された更新方法がデフォルトの方法になります。

    更新方法を変更するには、このオプションの選択を解除して、現在のブランチのプッシュが次に拒否されたときに プッシュが拒否されました ダイアログを呼び出し、別の更新手順を適用して、もう一度 更新メソッドの選択を記憶する オプションを選択します。

  3. それぞれ リベース または マージ ボタンをクリックして更新方法を選択します。

強制プッシュを使用する必要があるのはいつですか?

プッシュ を実行すると、リモートリポジトリに欠落している変更があり、リポジトリのローカルコピーで上書きする場合、Git は操作の補完を拒否します。 通常、変更で更新する前に、 プルを実行してリモートと同期する必要があります。

git push --force コマンドはこのチェックを無効にし、リモートリポジトリを上書きすることでその履歴を消去し、データを失うことを可能にします。 内部的には、強制プッシュを選択するとGoLand は git push --force-with-lease 操作を行い、他の人のコミットを上書きしないよう安全性を向上します(プッシュオプション詳細は git push参照)。

git push --force を実行する必要がある場合は、プッシュされたブランチをリベースしてからリモートサーバーにプッシュしたい場合があります。 この場合、プッシュしようとすると、リモート参照はローカル参照の祖先ではないため、Git は変更を拒否します。 このような状況で プル を実行すると、2 つのブランチのコピーが作成され、次にブランチをマージする必要があります。

2026 年 5 月 22 日