ファイルを Git に追加し、変更を追跡する
Git にファイル追加
コミットツールウィンドウを開きます。
Ctrl+Alt+A を押すか、コンテキストメニューから VCS に追加を選択して、バージョン管理外ファイル変更リスト内のファイルをバージョン管理下に置きます。変更リスト全体を追加することも、個別のファイルを選択することもできます。
プロジェクトで Git 統合を有効にしている場合、JetBrains Rider は、新しく作成された各ファイルをバージョン管理下に追加することを提案します。この動作は、設定ダイアログ Ctrl+Alt+S で変更できます。特定のファイルを常にバージョン管理しないようにしたい場合は、無視するように Git を構成できます。
のローカル設定を保存する workspace.xml を除いて、.idea ディレクトリ内の設定ファイルはすべてバージョン管理下に置く必要があります。workspace.xml ファイルは、VCS によって無視されるものとしてマークする必要があります。
プロジェクトファイルのステータスを確認する
JetBrains Rider を使用すると、ローカルの作業コピーのステータスをプロジェクトのリポジトリバージョンと比較して確認できます。どのファイルが変更されたか、どの新しいファイルが Git に追加されたか、どのファイルが Git によって追跡されていないかを確認できます。
コミットツールウィンドウを開きます。
変更変更リストには、リモートリポジトリと最後に同期してから変更されたすべてのファイル (青色でハイライト) と、Git に追加されたがまだコミットされていないすべての新しいファイル (緑色でハイライト) が表示されます。
バージョン管理外ファイル変更リストには、あなたのプロジェクトに追加されたが、Git によって追跡されていないすべてのファイルが表示されます。
エディターでファイルへの変更を追跡する
エディターでファイルを変更したときに、そのファイルへの変更を追跡することもできます。すべての変更は、変更された行の隣のガターに表示される変更マーカーでハイライトされ、最後にリポジトリと同期してから導入された変更の種類を示します。リポジトリに変更をコミットすると、変更マーカーが消えます。
テキストに加えた変更は色分けされています。
変更マーカーの上にマウスを移動してクリックすると表示されるツールバーを使用して、変更を管理できます。ツールバーは、変更された行の前の内容を示すフレームとともに表示されます。
をクリックして変更をロールバックし、 をクリックして現在の行の現在のバージョンとリポジトリバージョンの違いを調べることができます。変更されたフラグメントをハイライトするには、 をクリックします。
ファイル全体を元に戻す代わりに、このポップアップの内容の一部をコピーしてエディターに貼り付けることができます。
ファイルの状態を確認する
JetBrains Rider を使用すると、リポジトリに対するプロジェクトファイルのステータスを確認できます。ファイルステータスには、前回リポジトリと同期してからファイルに対して実行された操作が表示されます。
ファイル名のハイライトに使用されている色によって、任意のインターフェース要素 (エディターやツールウィンドウなど) でファイルのステータスを確認できます。
色とフォント設定ページでファイルステータスのデフォルトの色をカスタマイズできます。
設定 Ctrl+Alt+S のバージョン管理 | ファイルステータスの色ページで VCS ファイルのステータスの色を設定できます。
一部でリストのデフォルトのファイルステータスの色と意味下表のカラースキーム。
色 | ファイルステータス | 説明 |
---|---|---|
#0A7700 | 追加済み | アクティブな変更リストのファイルは、リポジトリへの追加がスケジュールされています。 |
#0EAA00 | 非アクティブ変更リスト内の追加対象 | 非アクティブ変更リスト内のファイルは、リポジトリへの追加が予定されています。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
#FF0000 | 変更リストの競合 | 非アクティブな変更リスト内のファイルがアクティブな変更リスト内で変更されます。この場合、新しいダイアログが開き、変更リストの競合を解決するように求められます。このファイルステータスは、 ですべてのオプションが有効になっている場合に使用できます。 |
#0A7700 | コピー | ファイルが別のファイルのコピーである場合、そのメタデータが追跡され、そのようなファイルはコピー済みとしてマークされます。 |
#616161 | 削除 | ファイルはリポジトリから削除される予定です。 |
#773895 | ファイルシステムから削除 | ファイルはローカルで削除されましたが、削除がスケジュールされておらず、リポジトリにまだ存在しています。 |
#8AA4C8 | 変更された子孫あり | ファイルが変更されると、IDE はそのファイルを含むすべてのディレクトリを再帰的にハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
#3264B4 | 即時変更された子あり | ファイルが変更されると、IDE はその親ディレクトリをハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
#B28C00 | ハイジャック | [Perforce、ClearCase、VSS] ファイルはチェックアウトなしで変更されます。 |
#727238 | 無視 | ファイルは VCS によって意図的に追跡されていません。 |
#7503DC | マージ済み | ファイルはアップデートの結果として VCS によってマージされます。 |
#FF0000 | 競合がある状態でマージされています | 最後の更新中に、ファイルは競合とマージされました。 |
#FF0000 | プロパティ競合のマージ | 前回の更新中に、IDE はローカルファイルのプロパティとそのサーバーバージョンの違いを検出しました。 |
#FF0000 | テキストおよびプロパティ競合のマージ | テキストとプロパティの競合は、2 人以上の開発者がファイルの同じ行と同じファイルプロパティを変更すると発生します。 |
#0032A0 | 変更 | 最後の同期以降にファイルが変更されました。 |
#0047E4 | 非アクティブな変更リストで変更 | 無効な変更リスト内のファイルが変更されます。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
#7C7C00 | 廃止 | このファイルはもうリポジトリの作業コピーに含まれていないはずです。 |
#007C7C | 名前変更 | 最後の更新以降、ファイルの名前は変更されました。 |
#08978F | 切り替え | [SVN] ファイルはプロジェクト全体とは異なるブランチから取得されます。 |
#993300 | (不明)バージョン管理外 | ファイルはローカルに存在しますが、リポジトリには存在せず、追加はスケジュールされていません。 |
なし (デフォルトの色) | 最新 | ファイルは変更されていません。 |
色 | ファイルステータス | 説明 |
---|---|---|
#629755 | 追加済み | アクティブな変更リストのファイルは、リポジトリへの追加がスケジュールされています。 |
#629755 | 非アクティブ変更リスト内の追加対象 | 非アクティブ変更リスト内のファイルは、リポジトリへの追加が予定されています。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
#D5756C | 変更リストの競合 | 非アクティブな変更リスト内のファイルがアクティブな変更リスト内で変更されます。この場合、新しいダイアログが開き、変更リストの競合を解決するように求められます。このファイルステータスは、 ですべてのオプションが有効になっている場合に使用できます。 |
#0A7700 | コピー | ファイルが別のファイルのコピーである場合、そのメタデータが追跡され、そのようなファイルはコピー済みとしてマークされます。 |
#6C6C6C | 削除 | ファイルはリポジトリから削除される予定です。 |
#6C6C6C | ファイルシステムから削除 | ファイルはローカルで削除されましたが、削除がスケジュールされておらず、リポジトリにまだ存在しています。 |
#6897BB | 変更された子孫あり | ファイルが変更されると、IDE はそのファイルを含むすべてのディレクトリを再帰的にハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
#6897BB | 即時変更された子あり | ファイルが変更されると、IDE はその親ディレクトリをハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
なし (デフォルトの色) | ハイジャック | [Perforce、ClearCase、VSS] ファイルはチェックアウトなしで変更されます。 |
#848504 | 無視 | ファイルは VCS によって意図的に追跡されていません。 |
#9876AA | マージ済み | ファイルはアップデートの結果として VCS によってマージされます。 |
#D5756C | 競合がある状態でマージされています | 最後の更新中に、ファイルは競合とマージされました。 |
#D5756C | プロパティ競合のマージ | 前回の更新中に、IDE はローカルファイルのプロパティとそのサーバーバージョンの違いを検出しました。 |
#D5756C | テキストおよびプロパティ競合のマージ | テキストとプロパティの競合は、2 人以上の開発者がファイルの同じ行と同じファイルプロパティを変更すると発生します。 |
#6897BB | 変更 | 最後の同期以降にファイルが変更されました。 |
#6897BB | 非アクティブな変更リストで変更 | 無効な変更リスト内のファイルが変更されます。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
なし (デフォルトの色) | 廃止 | このファイルはもうリポジトリの作業コピーに含まれていないはずです。 |
#3A8484 | 名前変更 | 最後の更新以降、ファイルの名前は変更されました。 |
なし (デフォルトの色) | 切り替え | [SVN] ファイルはプロジェクト全体とは異なるブランチから取得されます。 |
#D1675A | (不明)バージョン管理外 | ファイルはローカルに存在しますが、リポジトリには存在せず、追加はスケジュールされていません。 |
なし (デフォルトの色) | 最新 | ファイルは変更されていません。 |
色 | ファイルステータス | 説明 |
---|---|---|
#62CC47 | 追加済み | アクティブな変更リストのファイルは、リポジトリへの追加がスケジュールされています。 |
#62CC47 | 非アクティブ変更リスト内の追加対象 | 非アクティブ変更リスト内のファイルは、リポジトリへの追加が予定されています。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
#FF6666 | 変更リストの競合 | 非アクティブな変更リスト内のファイルがアクティブな変更リスト内で変更されます。この場合、新しいダイアログが開き、変更リストの競合を解決するように求められます。このファイルステータスは、 ですべてのオプションが有効になっている場合に使用できます。 |
#62CC47 | コピー | ファイルが別のファイルのコピーである場合、そのメタデータが追跡され、そのようなファイルはコピー済みとしてマークされます。 |
#ED864A | 削除 | ファイルはリポジトリから削除される予定です。 |
#ED864A | ファイルシステムから削除 | ファイルはローカルで削除されましたが、削除がスケジュールされておらず、リポジトリにまだ存在しています。 |
#4FF0FF | 変更された子孫あり | ファイルが変更されると、IDE はそのファイルを含むすべてのディレクトリを再帰的にハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
#4FF0FF | 即時変更された子あり | ファイルが変更されると、IDE はその親ディレクトリをハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
なし (デフォルトの色) | ハイジャック | [Perforce、ClearCase、VSS] ファイルはチェックアウトなしで変更されます。 |
#A9B837 | 無視 | ファイルは VCS によって意図的に追跡されていません。 |
#ED94FF | マージ済み | ファイルはアップデートの結果として VCS によってマージされます。 |
#FF6666 | 競合がある状態でマージされています | 最後の更新中に、ファイルは競合とマージされました。 |
#FF6666 | プロパティ競合のマージ | 前回の更新中に、IDE はローカルファイルのプロパティとそのサーバーバージョンの違いを検出しました。 |
#FF6666 | テキストおよびプロパティ競合のマージ | テキストとプロパティの競合は、2 人以上の開発者がファイルの同じ行と同じファイルプロパティを変更すると発生します。 |
#4FF0FF | 変更 | 最後の同期以降にファイルが変更されました。 |
#4FF0FF | 非アクティブな変更リストで変更 | 無効な変更リスト内のファイルが変更されます。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
なし (デフォルトの色) | 廃止 | このファイルはもうリポジトリの作業コピーに含まれていないはずです。 |
#4FF0FF | 名前変更 | 最後の更新以降、ファイルの名前は変更されました。 |
なし (デフォルトの色) | 切り替え | [SVN] ファイルはプロジェクト全体とは異なるブランチから取得されます。 |
D1675A | (不明)バージョン管理外 | ファイルはローカルに存在しますが、リポジトリには存在せず、追加はスケジュールされていません。 |
なし (デフォルトの色) | 最新 | ファイルは変更されていません。 |
リポジトリからファイルを削除する
バージョン管理下にあるファイルを削除しても、変更をコミットするまでそのファイルはリポジトリに残ります。削除されたファイルはアクティブな変更リストに配置され、灰色でハイライトされます。
ソリューションエクスプローラーでファイルを選択し、Delete を押すか、コンテキストメニューから削除を選択します。
表示されるダイアログで、使用方法を検索せずにこのファイルを削除するか、安全な削除オプションをチェックして安全な削除を実行する (未使用のファイルを確実に削除するため) かを選択できます。
使用箇所が見つかった場合は、検出された使用箇所ダイアログがポップアップ表示され、使用箇所がリストされます。ファイルを削除する前に、これらの使用箇所を表示し、このファイルへの参照を削除できます。
リポジトリへの変更をコミットします。
関連ページ:
バージョン管理統合サポート
JetBrains Rider は 2 つのレベルでバージョン管理統合をサポートします。IDE レベルでは、VCS 統合は、デフォルトで有効になっているバンドルされたプラグインのセットを通じて提供されます。ソリューションレベルでは、ソリューションフォルダーを 1 つまたは複数のバージョン管理システムに関連付けることにより、VCS 統合が有効になります。プロジェクトルートをバージョン管理システムに関連付ける:JetBrains Rider を使用すると、プロジェクトとバージョン管理システムの統合...
リモート Git リポジトリと同期する (フェッチ、プル、更新)
変更をアップストリームにプッシュして作業結果を共有する前に、リモートリポジトリと同期して、プロジェクトのローカルコピーが最新であることを確認する必要があります。これを行うには、次のいずれかの方法があります: 変更のフェッチ、変更のプル、プロジェクトの更新 Git ブランチポップアップは、ブランチにまだフェッチされていない受信コミットがあるかどうかを示します。変更のフェッチ:アップストリームから変更をフェッチすると、リモートリポジトリと最後に同期してから行われたコミットからのすべての新しいデータがロー...
カラースキームの切り替え
このセクションを使用して、JetBrains Rider エディターの配色を選択します。スキームワークスペースで使用する配色を選択してください。このボタンをクリックすると、次のコマンドが呼び出されます(選択したスキームに応じて)。複製: 現在選択されているカラー設定を新しいスキームとして保存します。新しいスキームを保存するにはを押し、操作をキャンセルするにはを押します。デフォルトの復元: 選択したカラースキームを JetBrains Rider に同梱されている初期デフォルトにリセットする...
配色: IDE テキストのフォントと色
開発者は、エディターのソースコード、検索結果、デバッガー情報、コンソールの入出力など、多くのテキストリソースを操作します。このテキストのフォーマットには色とフォントスタイルが使用されており、一目で理解できるようになります。JetBrains Rider では、IDE テキストで使用される色とフォントを定義する構成可能な配色から選択できます。事前定義された配色を使用するか、あなたの好みに合わせてカスタマイズすることができます。スキームを共有することも可能です。配色を選択を押して設定を開き、を選択し...
変更を変更リストにグループ化する
変更リストは、VCS リポジトリにまだコミットされていないローカル変更のセットです。変更リストを使用すると、さまざまなタスクに関連する変更をグループ化し、これらの変更セットを個別にコミットできます。詳細については、変更をローカルでコミットするを参照してください。JetBrains Rider の変更リストは、統合された VCS クライアントの機能であり、VCS ごとに異なる実装があります。たとえば、Git を使用する場合、変更リストは Git 機能を拡張するクライアント機能ですが、SVN を使用...
Git の競合を解決する
チームで作業しているときに、現在作業中のファイルに誰かが変更をプッシュするという状況に遭遇する可能性があります。これらの変更が重複しない場合(つまり、異なるコード行に変更が加えられた場合)、競合するファイルは自動的にマージされます。しかし、同じ行が影響を受けた場合、Git は無作為に一方を他方を選ぶことはできず、衝突を解決するように求めます。Git では、プル、マージ、リベース、チェリーピック、変更のスタッシュ解除、またはパッチの適用のいずれかの操作を実行しようとすると、競合が発生する可能性があ...