7

私は小さな Debian VPS ボックスを持っており、いくつかの小さなプライベート PHP Web サイトをホストおよび開発しています。
PHPStorm を使用して Windows デスクトップで開発しています。

私のプロジェクトのほとんどは、数ダースのソース ファイルしかありませんが、数千の lib ファイルも含まれています。

ローカル マシンで Web サーバーを実行したくありません。これは一連の問題を引き起こすためです。このような小さなプロジェクトに煩わされたくありません (たとえば、デスクトップと VPS の間でファイルを同期する
別の Web サーバーをセットアップするなど)。
ボックス;
Windows と Debian の異なる構成の管理 (異なるホスト、パス...);
データベース スキーマとデータの同期を維持します)。

大量のリモート ファイルで PHPStorm を操作する良い方法を探しています。

これまでの私のアプローチ:

  1. リモート ファイル システムを Windows にマウントし (pptp/smb、ftp、webdav 経由で試行)、ローカル ファイルのように PHPStorm で作業します。
    =>インデックス作成、同期、および PHPStorms VCS サポートが使用できないほど遅くなりました。これはおそらく、ファイル アクセスの待ち時間が長いためです。
  2. PHPStorm は、リモート ファイルをローカル マシンに自動的にコピーし、変更が加えられたときにそれらを同期する可能性を提供します。
    初回コピー後はこちらの方が早い。残念ながら、このセットアップでは、PHPStorm は私が頻繁に使用する VCS サポートを提供できません。


これに関するアイデアは大歓迎です:)

4

1 に答える 1

1

私はあなたの2番目のアプローチ(ローカルコピー、自動同期された変更)と非常によく似たセットアップでPhpStormを使用し、重要なことにVCSサポートを使用しています。

理想; 最も簡単私の経験では、最も簡単な解決策は、ローカル マシンで VCS ブランチをチェックアウト/クローンし、リモート ファイル システムをステージング プラットフォームとして使用することです。これは、VCS を知らないままです。普通のファイルシステム。

現実の世界; リモート VCS が必要ですが、(私の場合のように) 各システムに VCS が必要な場合。おそらく、リモート環境がショップの標準であるか、ショップ独自のレビュー/ビルド ツールがプラットフォーム固有である可能性があります。次に、少し異なるリモート セットアップが必要になりますが、リモート システムをステージングとして扱うことが依然として最善の方法です。

例: Perforce - 集中化された VCS (クライアント ワークスペース) 私の経験では、ワークスペース ベースの VCS システム (Perforce など) は、ローカル システムとリモート システムの間で同じクライアント ワークスペースを共有することで最適に処理できます。これには、VCS ファイルの利点があります。ステータス変更は一度だけ適用する必要があります。欠点は、通常、リモート システムでのファイル システムの変更を手動で処理する必要があることです。私の場合、リモートファイルを手動でchmod(またはOSの同等物)し、手を洗います(問題は解決しました)。別の (デュアル ワークスペース) アプローチでは、より多くの可動部分が必要になりますが、これはお勧めしません。

例: Git - 分散型 VCS より簡単なアプローチは確かに Git です。Git には、ファイルのアクセス許可が VCS に直接結合されていなくても、ファイルの変更を検出する素晴らしい魔法があります。これにより、共通の作業ブランチから始めて、たとえば「my-feature」と「my-feature-remote-proxy」という 2 つの別々のブランチを作成するだけで簡単に作業できます。変更をアップストリームにマージすることに決めたら、(理想的には) ローカル環境から行います。リモート プロキシ ブランチは元に戻すか、必要に応じて変更できます。注: Git の場合、簡単なので、常に 2 つのブランチを用意しています。そして、異常な落雷でハード ドライブが溶けると、余分な冗長性が得られます :|

お役に立てれば。

于 2014-03-18T01:48:02.703 に答える