ファイルを Git に追加し、変更を追跡する
Git にファイル追加
コミットツールウィンドウ Alt+0 を開きます。
Ctrl+Alt+A を押すか、コンテキストメニューから VCS に追加を選択して、バージョン管理外ファイル変更リスト内のファイルをバージョン管理下に置きます。変更リスト全体を追加することも、個別のファイルを選択することもできます。
プロジェクトで Git 統合を有効にしている場合、PhpStorm は、新しく作成された各ファイルをバージョン管理下に追加することを提案します。この動作は、設定ダイアログ Ctrl+Alt+S で変更できます。特定のファイルを常にバージョン管理しないようにしたい場合は、無視するように Git を構成できます。
のプロジェクトファイルのステータスを確認する
PhpStorm を使用すると、ローカルの作業コピーのステータスをプロジェクトのリポジトリバージョンと比較して確認できます。どのファイルが変更されたか、どの新しいファイルが Git に追加されたか、どのファイルが Git によって追跡されていないかを確認できます。
コミットツールウィンドウ Alt+0 を開きます。

変更リストには、リモートリポジトリと最後に同期してから変更されたすべてのファイル (青色でハイライト) と、Git に追加されたがまだコミットされていないすべての新しいファイル (緑色でハイライト) が表示されます。
バージョン管理外ファイル変更リストには、あなたのプロジェクトに追加されたが、Git によって追跡されていないすべてのファイルが表示されます。
バージョン管理ツールウィンドウのローカルの変更タブから、ファイルやフォルダーのアップロードやデプロイ済みバージョンとの比較などのデプロイタスクを直接実行できます。これを行うには、項目を右クリックして、コンテキストメニューからデプロイを選択します。次に、サブメニューから目的のアクションを選択します。
エディターでファイルへの変更を追跡する
エディターでファイルを変更したときに、そのファイルへの変更を追跡することもできます。すべての変更は、変更された行の隣のガターに表示される変更マーカーでハイライトされ、最後にリポジトリと同期してから導入された変更の種類を示します。リポジトリに変更をコミットすると、変更マーカーが消えます。
テキストに加えた変更は色分けされています。

変更マーカーの上にマウスを移動してクリックすると表示されるツールバーを使用して、変更を管理できます。ツールバーは、変更された行の前の内容を示すフレームとともに表示されます。

をクリックして変更をロールバックし、
をクリックして現在の行の現在のバージョンとリポジトリバージョンの違いを調べることができます。変更されたフラグメントをハイライトするには、
をクリックします。
ファイル全体を元に戻す代わりに、このポップアップの内容の一部をコピーしてエディターに貼り付けることができます。
ファイルの状態を確認する
PhpStorm を使用すると、リポジトリに対するプロジェクトファイルのステータスを確認できます。ファイルステータスには、前回リポジトリと同期してからファイルに対して実行された操作が表示されます。
ファイル名のハイライトに使用されている色によって、任意のインターフェース要素 (エディターやツールウィンドウなど) でファイルのステータスを確認できます。
色とフォント設定ページでファイルステータスのデフォルトの色をカスタマイズできます。
バージョン管理 | ファイルステータスの色設定ページ Ctrl+Alt+S で VCS ファイルのステータスの色を設定できます。
以下の表は、いくつかのカラースキームにおけるデフォルトのファイルステータスの色とその意味を示しています。
色 | ファイルステータス | 説明 |
---|---|---|
| 追加済み | アクティブな変更リストのファイルは、リポジトリへの追加がスケジュールされています。 |
| 非アクティブ変更リスト内の追加対象 | 非アクティブ変更リスト内のファイルは、リポジトリへの追加が予定されています。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 変更リストの競合 | 非アクティブな変更リスト内のファイルがアクティブな変更リスト内で変更されます。この場合、新しいダイアログが開き、変更リストの競合を解決するように求められます。このファイルステータスは、 ですべてのオプションが有効になっている場合に使用できます。 |
| コピー | ファイルが別のファイルのコピーである場合、そのメタデータが追跡され、そのようなファイルはコピー済みとしてマークされます。 |
| 削除 | ファイルはリポジトリから削除される予定です。 |
| ファイルシステムから削除 | ファイルはローカルで削除されましたが、削除がスケジュールされておらず、リポジトリにまだ存在しています。 |
| 変更された子孫あり | ファイルが変更されると、IDE はそのファイルを含むすべてのディレクトリを再帰的にハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 即時変更された子あり | ファイルが変更されると、IDE はその親ディレクトリをハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
| ハイジャック | [Perforce, ClearCase, VSS] ファイルはチェックアウトせずに変更されています。 |
| 無視 | ファイルは VCS によって意図的に追跡されていません。 |
| マージ済み | ファイルはアップデートの結果として VCS によってマージされます。 |
| 競合のあるマージ | 最後の更新中に、ファイルは競合とマージされました。 |
| プロパティ競合のマージ | 前回の更新中に、IDE はローカルファイルのプロパティとそのサーバーバージョンの違いを検出しました。 |
| テキストおよびプロパティ競合のマージ | テキストとプロパティの競合は、2 人以上の開発者がファイルの同じ行と同じファイルプロパティを変更すると発生します。 |
| 変更 | 最後の同期以降にファイルが変更されました。 |
| 非アクティブな変更リストで変更 | 無効な変更リスト内のファイルが変更されます。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 廃止 | このファイルはもうリポジトリの作業コピーに含まれていないはずです。 |
| 名前変更 | 最後の更新以降、ファイルの名前は変更されました。 |
| 切り替え | [SVN] ファイルは、プロジェクト全体とは異なるブランチから取得されます。 |
| (不明)バージョン管理外 | ファイルはローカルに存在しますが、リポジトリには存在せず、追加はスケジュールされていません。 |
| 最新 | ファイルは変更されていません。 |
色 | ファイルステータス | 説明 |
---|---|---|
| 追加済み | アクティブな変更リストのファイルは、リポジトリへの追加がスケジュールされています。 |
| 非アクティブ変更リスト内の追加対象 | 非アクティブ変更リスト内のファイルは、リポジトリへの追加が予定されています。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 変更リストの競合 | 非アクティブな変更リスト内のファイルがアクティブな変更リスト内で変更されます。この場合、新しいダイアログが開き、変更リストの競合を解決するように求められます。このファイルステータスは、 ですべてのオプションが有効になっている場合に使用できます。 |
| コピー | ファイルが別のファイルのコピーである場合、そのメタデータが追跡され、そのようなファイルはコピー済みとしてマークされます。 |
| 削除 | ファイルはリポジトリから削除される予定です。 |
| ファイルシステムから削除 | ファイルはローカルで削除されましたが、削除がスケジュールされておらず、リポジトリにまだ存在しています。 |
| 変更された子孫あり | ファイルが変更されると、IDE はそのファイルを含むすべてのディレクトリを再帰的にハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 即時変更された子あり | ファイルが変更されると、IDE はその親ディレクトリをハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
| ハイジャック | [Perforce, ClearCase, VSS] ファイルはチェックアウトせずに変更されています。 |
| 無視 | ファイルは VCS によって意図的に追跡されていません。 |
| マージ済み | ファイルはアップデートの結果として VCS によってマージされます。 |
| 競合のあるマージ | 最後の更新中に、ファイルは競合とマージされました。 |
| プロパティ競合のマージ | 前回の更新中に、IDE はローカルファイルのプロパティとそのサーバーバージョンの違いを検出しました。 |
| テキストおよびプロパティ競合のマージ | テキストとプロパティの競合は、2 人以上の開発者がファイルの同じ行と同じファイルプロパティを変更すると発生します。 |
| 変更 | 最後の同期以降にファイルが変更されました。 |
| 非アクティブな変更リストで変更 | 無効な変更リスト内のファイルが変更されます。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 廃止 | このファイルはもうリポジトリの作業コピーに含まれていないはずです。 |
| 名前変更 | 最後の更新以降、ファイルの名前は変更されました。 |
| 切り替え | [SVN] ファイルは、プロジェクト全体とは異なるブランチから取得されます。 |
| (不明)バージョン管理外 | ファイルはローカルに存在しますが、リポジトリには存在せず、追加はスケジュールされていません。 |
| 最新 | ファイルは変更されていません。 |
色 | ファイルステータス | 説明 |
---|---|---|
| 追加済み | アクティブな変更リストのファイルは、リポジトリへの追加がスケジュールされています。 |
| 非アクティブ変更リスト内の追加対象 | 非アクティブ変更リスト内のファイルは、リポジトリへの追加が予定されています。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 変更リストの競合 | 非アクティブな変更リスト内のファイルがアクティブな変更リスト内で変更されます。この場合、新しいダイアログが開き、変更リストの競合を解決するように求められます。このファイルステータスは、 ですべてのオプションが有効になっている場合に使用できます。 |
| コピー | ファイルが別のファイルのコピーである場合、そのメタデータが追跡され、そのようなファイルはコピー済みとしてマークされます。 |
| 削除 | ファイルはリポジトリから削除される予定です。 |
| ファイルシステムから削除 | ファイルはローカルで削除されましたが、削除がスケジュールされておらず、リポジトリにまだ存在しています。 |
| 変更された子孫あり | ファイルが変更されると、IDE はそのファイルを含むすべてのディレクトリを再帰的にハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 即時変更された子あり | ファイルが変更されると、IDE はその親ディレクトリをハイライトします。このステータスは、プロジェクトツリー内の変更ファイルを含むディレクトリをハイライトするオプションが有効になっている場合に利用可能です。 で |
| ハイジャック | [Perforce, ClearCase, VSS] ファイルはチェックアウトせずに変更されています。 |
| 無視 | ファイルは VCS によって意図的に追跡されていません。 |
| マージ済み | ファイルはアップデートの結果として VCS によってマージされます。 |
| 競合のあるマージ | 最後の更新中に、ファイルは競合とマージされました。 |
| プロパティ競合のマージ | 前回の更新中に、IDE はローカルファイルのプロパティとそのサーバーバージョンの違いを検出しました。 |
| テキストおよびプロパティ競合のマージ | テキストとプロパティの競合は、2 人以上の開発者がファイルの同じ行と同じファイルプロパティを変更すると発生します。 |
| 変更 | 最後の同期以降にファイルが変更されました。 |
| 非アクティブな変更リストで変更 | 無効な変更リスト内のファイルが変更されます。このファイルステータスは、非アクティブな変更リストからファイルをハイライトするオプションが有効になっている場合に利用可能です。 で |
| 廃止 | このファイルはもうリポジトリの作業コピーに含まれていないはずです。 |
| 名前変更 | 最後の更新以降、ファイルの名前は変更されました。 |
| 切り替え | [SVN] ファイルは、プロジェクト全体とは異なるブランチから取得されます。 |
| (不明)バージョン管理外 | ファイルはローカルに存在しますが、リポジトリには存在せず、追加はスケジュールされていません。 |
| 最新 | ファイルは変更されていません。 |
リポジトリからファイルを削除する
バージョン管理下にあるファイルを削除しても、変更をコミットするまでそのファイルはリポジトリに残ります。削除されたファイルはアクティブな変更リストに配置され、灰色でハイライトされます。
プロジェクトツールウィンドウ Alt+1 でファイルを選択し、Delete を押すか、コンテキストメニューから削除を選択します。
表示されるダイアログで、使用方法を検索せずにこのファイルを削除するか、安全な削除オプションをチェックして安全な削除を実行する (未使用のファイルを確実に削除するため) かを選択できます。
使用箇所が見つかった場合は、検出された使用箇所ダイアログがポップアップ表示され、使用箇所がリストされます。ファイルを削除する前に、これらの使用箇所を表示し、このファイルへの参照を削除できます。
リポジトリへの変更をコミットします。
関連ページ:

ファイルのアップロードとダウンロード
PhpStorm では、構成されたデプロイサーバーにプロジェクトファイルとフォルダーをアップロードするための次の 2 つの方法が提供されています。メニューコマンドからいつでも手動で実行。ファイルが更新されるたびに、またはデバッグセッションを開始する前に、またはバージョン管理システムへのコミット中に自動的に行われます。ファイルとフォルダーをダウンロードする場合、PhpStorm は手動モードのみをサポートします。PhpStorm は、ファイル転送ツールウィンドウにログを表示します。ファイルまたはフ...

デプロイされたファイルとフォルダーをローカルバージョンと比較する
PhpStorm プロジェクト内のファイルおよびフォルダーと、サーバー上のそれらのバージョンとの対応は、デプロイサーバーマッピングによって設定されます。わかりやすくするために、サーバーが実際にマシンにインストールされている場合でも、PhpStorm プロジェクト内のすべてのファイルまたはフォルダーはローカルと呼ばれ、サーバー上のすべてのファイルまたはフォルダーはリモートと呼ばれます。詳細については、Web サーバーに接続するを参照してください。サーバーにアクセスするメインメニューからまたはを選択...

Web サーバーに接続する
PhpStorm は、次の 3 種類の「ローカル開発 — デプロイサーバー」構成を区別します。インプレースサーバー構成。インプレースサーバー構成では、ローカル Web サーバーを使用しますが、ローカルサーバー構成とは異なり、サーバーのファイル構造内の PhpStorm プロジェクトとプロジェクトフォルダー間でファイルのアップロード / ダウンロードや同期は行いません。代わりに、PhpStorm でサーバーのドキュメントルートからプロジェクトフォルダーを直接開き、サーバー上で直接開発を行います。イン...

リモート Git リポジトリと同期する (フェッチ、プル、更新)
変更をアップストリームにプッシュして作業結果を共有する前に、リモートリポジトリと同期して、プロジェクトのローカルコピーが最新であることを確認する必要があります。これを行うには、次のいずれかの方法があります: 変更のフェッチ、変更のプル、プロジェクトの更新 Git ブランチポップアップには、まだフェッチされていない受信コミットの数 (ブランチの名前の横にある青い矢印アイコン) と送信コミットの数 (ブランチの名前の横にある緑の矢印アイコン) が示されます。変更のフェッチ:アップストリームから変更をフェ...

色とフォント
開発者は、エディターのソースコード、検索結果、デバッガー情報、コンソールの入出力など、多くのテキストリソースを操作します。このテキストのフォーマットには色とフォントスタイルが使用されており、一目で理解できるようになります。PhpStorm では、IDE テキストで使用される色とフォントを定義する構成可能な配色から選択できます。事前定義された配色を使用するか、あなたの好みに合わせてカスタマイズすることができます。スキームを共有することも可能です。このビデオを見て、PhpStorm のカスタマイズの...

Git の競合を解決する
チームで作業しているときに、現在作業中のファイルに誰かが変更をプッシュするという状況に遭遇する可能性があります。これらの変更が重複しない場合(つまり、異なるコード行に変更が加えられた場合)、競合するファイルは自動的にマージされます。しかし、同じ行が影響を受けた場合、Git は無作為に一方を他方を選ぶことはできず、衝突を解決するように求めます。Git では、プル、マージ、リベース、チェリーピック、変更のスタッシュ解除、またはパッチの適用のいずれかの操作を実行しようとすると、競合が発生する可能性があ...