現在、chrootされたSFTPを介して更新されている仮想ホストWebサイトがたくさんあります。更新はクライアント (通常は Dreamweaver と CuteFTP/Filezilla を使用) と私の会社のスタッフ (通常は JCraft SFTP による Eclipse Team Syncronisation を使用) によって行われます。クライアントが私たちと同時にサイトを編集していない限り、このセットアップは問題なく機能します。その場合、常に同期して変更をチェックする必要がありますが、これは遅くて信頼性が低くなります。また、各サイトに膨大な数のファイルがあり、ディレクトリ トラバーサルが遅く、デルタ圧縮がないため、SFTP 転送は遅くなります。
(部分的な) Git ワークフローに移行して、主にデルタ圧縮の恩恵を受けるだけでなく、基本的なリビジョン管理を導入したいと考えています。「初歩的」と言うのは、変更を git コミットにまとめる前にローカルで開発およびテストする典型的な git ワークフローは、次の理由から、私たちのニーズにはあまり適合しないからです。
- 一部のクライアントは、利便性や互換性のために、Git ではなく SFTP を使用する必要があります。
- 特定の SFTP クライアント (git-ftp など) を強制したくありません。私たちのクライアントは、自分の選択に満足しています (Dreamweaver や CuteFTP など)。それらはどのOS上にあってもよく、シェルを使用しません。
- 私たちのクライアントはローカルでテストすることはできません.小さな変更はすべてウェブサーバーにアップロードしてすぐに「ライブ」にする必要があります.
- 変更の約 90% は 1 行の小さな CSS/HTML 変更であり、コミット メッセージに時間がかかります。
- 一部の変更は、シェルまたはスクリプトを介してサーバーの webroot で直接行われます。
私が望むのは、リモート git リポジトリが webroot を作業ディレクトリとして使用し、そこで変更されたファイルを自動コミットして、どのファイルが変更されたかを示す一般的なメッセージを表示することだと思います。ただし、プロジェクトのプライマリ リポジトリには作業ディレクトリ (git init --bare) があってはならないことを読み続けています。このセットアップがコミットの所有権の詳細を失うかどうかは気にしません (ファイルを変更した人がわからず、通常は気にしないため)。
基本的に、Rsync-over-SSH (Eclipse Team Sync ではサポートされていないようです) の代わりに Git を使用したいのに失敗しました。別のテクノロジーがEclipse(私の選択したツール)とDreamweaver(私のクライアントの選択したメインツール)をサポートする必要があることを示唆する回答。これは理想的ではありませんが、交渉の余地はありません。Git の使用を強制できれば、この問題は関係ありません。私は何百ものクライアントと取引しなければなりませんが、そのほとんどは Mac のグラフィック デザイナーです。
PS。クライアントがローカル ファイルを十分に定期的に再同期しないと、問題が発生することを認識しています。取り扱いに関するご提案をいただければ幸いです。
誰でもこのセットアップに関するガイダンスを提供できますか (Centos 6.4 Linux)。