したがって、3 つのフォルダーを保持する git リポジトリがあります。これは、私のローカル Web サーバーでは問題ありません。ただし、ライブ サーバーでは、これらのフォルダーのうちの 2 つが webroot の背後にあり、そのうちの 1 つが webrootにある必要があります。簡単にプッシュ/プルできるようにサーバーで git リポジトリを使用したいのですが、フォルダーを別の場所に配置する必要があります。
誰かがこれに対する解決策を持っていますか?
ありがとう!
したがって、3 つのフォルダーを保持する git リポジトリがあります。これは、私のローカル Web サーバーでは問題ありません。ただし、ライブ サーバーでは、これらのフォルダーのうちの 2 つが webroot の背後にあり、そのうちの 1 つが webrootにある必要があります。簡単にプッシュ/プルできるようにサーバーで git リポジトリを使用したいのですが、フォルダーを別の場所に配置する必要があります。
誰かがこれに対する解決策を持っていますか?
ありがとう!
基本的に 2 つのオプションがあります。必要な 1 つのディレクトリが webroot になるように web サーバーをセットアップするか (シンボリックリンクを作成してシンボリックリンクをたどることを許可するか、ドキュメントルートを適切に設定することにより)、外部プロセスにそれらをコピーさせることができます。
後者の場合、単純なコピー cron ジョブ、またはコピーを行うもう少し洗練された git commit フックを使用できます。のようなものを使用するとrsync
、実際に変更されたものだけをコピーすることになります。もちろん、このアプローチをさらに進めて、テストの実行後にファイルを正しい場所にコピーする本格的な継続的インテグレーション システムを作成することもできます。
各 Git リポジトリはデータの完全なコピーである必要があるため、リポジトリを構造化して、ディスク上でクローンを作成したときにフォルダーが最初から正しい場所に配置されるようにする必要があります。
より柔軟性が必要な場合 (例: 部分的/深いレベルのチェックアウト) には、実際には Subversion の方が適しています。
また、開発/テストのセットアップが本番環境と一致することを確認するための、topek の 2 番目の推奨事項です。