JetBrains Rider 2020.2 ヘルプ

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

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

Git ユーザー名を設定する

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

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

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

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

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

JetBrains Rider では、次のいずれかの方法で変更をコミットできます。

  • コミットツールウィンドウの場合:モーダルコミットダイアログを使用する場合とは異なり、常にコミットモードになっているため、準備ができたらコミットに変更を追加し、一連の小さなコミットを行い、コミットメッセージを繰り返し書き込むことができます。

  • 変更のコミットダイアログを介して:設定 / 環境設定 Ctrl+Alt+Sバージョン管理 | コミットページの非モーダルコミットインターフェースを使用するチェックボックスをオフにすることで、このモードを有効にできます。

コミットツールウィンドウから変更をコミットする

  1. 左側にある垂直コミットツールウィンドウを開きます。

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

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

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

  3. コミットメッセージを入力してください。右下隅のCommit message history buttonをクリックして、最近のコミットメッセージのリストから選択できます。

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

  4. コミット前のチェックを実行する、コミット後にファイルをサーバーにアップロードする、または詳細オプションでコミットする必要がある場合は、ツールウィンドウの右下隅にあるthe Gear iconをクリックします。

    advanced commit options popup

    次のオプションが利用可能です :

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

    • 署名コミット : チェックインしようとしている変更が自分によって行われたことを証明するためにコミットをサインオフするか、コミットするコードの責任を取るかを選択します。

      このオプションを有効にすると、コミットメッセージの最後に次の行が自動的に追加されます。: サインオフ : <username>

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

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

コミットダイアログから変更をコミットする

  1. でコミットするファイルまたは変更リスト全体を選択して Ctrl+K を押すか、ツールバーのコミット Commit button をクリックします。

    コミットウィンドウの下部にあるテキスト領域がフォーカスを受け取るため、すぐにコミットメッセージの入力を開始できます。

    アクティブな変更リストで何も選択されていないときに、コミット Commit button Ctrl+K をクリックすることもできます。この場合、変更リスト内のすべてのファイルが自動的に選択されます。

  2. コミットしようとしているファイルのリストを確認し、コミットに含めたくないファイルとディレクトリの横にあるチェックボックスをオフにします。除外されたファイルの変更はアクティブな変更リストに残り、後でコミットできます。

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

  3. コミットメッセージを入力します。

    メッセージ履歴 Commit Message history Ctrl+M をクリックして、最近のコミットメッセージのリストから選択できます。

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

  4. 必要に応じて、コミット前のチェックを実行したり、コミット後にファイルをサーバーにアップロードしたり、詳細オプションでコミットしたりできます。これらのオプションにアクセスするには、コミットメッセージ領域にあるコミットオプションを表示 icons.general.gearPlain.svg をクリックします。

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

    • 署名コミット : チェックインしようとしている変更が自分によって行われたことを証明するためにコミットをサインオフするか、コミットするコードの責任を取るかを選択します。

      このオプションを有効にすると、コミットメッセージの最後に次の行が自動的に追加されます。: サインオフ : <username>

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

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

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

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

JetBrains Rider では、次のいずれかの方法で、このような変更を個別にコミットできます。

コミットしたいチャンクを選択してください

  1. 左側の垂直コミットツールウィンドウ Alt+0 を開くか、変更のコミットダイアログを呼び出します。

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

  3. コミットしたい、変更した、または新しく追加したコードの各チャンクの横にあるチェックボックスを選択し、その他の変更を選択しないままにします。

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

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

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

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

    Partial commit changelists
  3. 各変更リストを別々にコミットします。

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

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

JetBrains Rider を使用すると、変更をブランチからその追跡されたブランチ(英語)または他のリモート ブランチにアップロードできます。

  1. 以下のいずれか 1 つを実行します :

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

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

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

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

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

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

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

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

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

  5. 準備ができたらプッシュボタンをクリックして、実行する操作をドロップダウンメニューから選択してください:プッシュまたは強制プッシュ

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

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

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

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

  2. このダイアログで選択した更新方法を使用してプッシュが次回拒否されたときに、JetBrains Rider が更新手順をサイレントに適用するようにするには、更新方法の選択を覚えていて、将来確認なしで更新するオプションを選択します。

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

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

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

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

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

--force push コマンドはこのチェックを無効にし、リモートリポジトリを上書きすることでその履歴を消去し、データを失うことを可能にします。

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

強制的にリベースされたブランチをプッシュすることを決心し、チームで働いているなら、それを確認してください:

  • 誰もあなたのブランチをプルしていないし、それにいくつかのローカルな変更をしていない

  • 保留中の変更はすべてコミットされプッシュされました

  • そのブランチに対する最新の変更があります

最終更新日 :

関連ページ:

Git リポジトリをセットアップする

既存の Git リポジトリを複製するか、既存のプロジェクトを Git バージョン管理下に置くと、JetBrains Rider は Git がコンピューターにインストールされているかどうかを自動的に検出します。IDE が Git 実行可能ファイルを見つけられない場合は、ダウンロードすることを提案しま...

ターミナル

JetBrains Rider には、IDE 内からコマンドラインシェルを操作するための組み込みターミナルエミュレータが含まれています。これを使用して、専用のターミナルアプリケーションに切り替えることなく、.NET Core コマンド(エンティティフレームワークコアなど)、Git コマンド、ファイル...

Git プロジェクト履歴を編集する

Git を使用すると、プロジェクト履歴を編集できます。これは、機能ブランチで作業していて、他のユーザーと共有する前に、機能をクリーンアップして、希望どおりの外観にする場合に便利です。例:コミットメッセージを編集したり、同じ機能に関連する小さなコミットをつぶしたり、無関係な変更を含むコミットを別のコミ...

Git リポジトリの変更を元に戻す

コミットされていない変更を元に戻すコミットする前に、ローカルで行った変更をいつでも元に戻すことができます。ローカルの変更ビューで、元に戻す 1 つまたは複数のファイルを選択し、コンテキストメニューからロールバックを選択するか、 を押します。最後のコミット以降に選択されたファイルに加えられたすべての変...

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

Git では、あるブランチから別のブランチへの変更を統合する方法がいくつかあります。ブランチのマージ、ブランチのリベース、あるブランチから別のブランチに別々のコミットを適用する (チェリーピック)、コミットから個別の変更を適用する、特定のファイルをブランチに適用する、ブランチのマージ :特定のタス...

リモート Git リポジトリと同期する (フェッチ、プル、更新)

変更をアップストリームにプッシュして作業の結果を共有する前に、リモートリポジトリと同期して、プロジェクトのローカルコピーが最新であることを確認する必要があります。これは、変更のフェッチ、変更のプル、またはプロジェクトの更新のいずれかの方法で行うことができます。Gitブランチポップアップは、ブランチに...