2

.gitディレクトリとWebルート内の他のすべてでgitを使い始めました。さらに読んだ後、これは悪い習慣のようです。現在、アプリケーションフォルダとシステムフォルダをWebルートの外に配置しています。私のウェブルートに残っているのは、画像、js、cssのインデックスファイルとアセットフォルダーだけです。

古い方法

/var/www/assets
/var/www/application
/var/www/system
/var/www/.git

新しい方法(.gitがこれでどこに行くべきか本当にわかりませんか?)

/var/www/assets
/var/application
/var/system

gitの設定が簡単になる前。リポジトリを作成しましたが、すべて同じディレクトリにあるため、すべてのファイルが見つかりました。さて、.gitリポジトリが新しい構造のどこにあるべきかよくわかりません。これを/var/ wwwに追加すると、アセットフォルダーは表示されますが、他には何も表示されません。

3つのディレクトリすべてをgitで管理したいと思います。すべてのディレクトリをリポジトリに含めるにはどうすればよいですか。または、gitがそのようなインスタンスを処理するように設計されている別の方法はありますか?このサイトでこのような別の質問を見つけましたが、理解できませんでした。

また、リモートリポジトリでは、そのように設定します。まだディレクトリを移動していません。私はそれを最初にローカルで動作させることを試みてきました。

var/www/assets
var/application
var/system
var/git/.git
4

2 に答える 2

3

2つのディレクトリをリポジトリから移動する代わりに、Webルートのものをディレクトリに移動することをお勧めしwwwます。私のやり方は次のようなものです。

  1. 新しいWebルートディレクトリを作成します。

    # from /var/www
    mkdir www
    git mv assets www
    git mv index* *html www
    git commit
    

    したがって、現在の一時的な構造は次のとおりです。

    /var/www/www/assets
    /var/www/system
    /var/www/application
    /var/www/.git
    
  2. この時点で2つの選択肢があります。サーバー構成を編集し/var/www/wwwて新しいWebルートを作成するかです。または、すべてを別の場所に移動して、Webルートを元の場所にシンボリックリンクします。私は個人的に2番目のオプションを好みます:

    # from /var/www
    cd ..
    mv www /usr/local/mywebapp
    ln -s /usr/local/mywebapp/www www
    

    これで、フォルダ構造は次のようになります。

    /usr/local/mywebapp/www/assets
    /usr/local/mywebapp/system
    /usr/local/mywebapp/application
    /usr/local/mywebapp/.git
    

    しかし、Webサーバーには次のものしか表示されません。

    /var/www/assets
    /var/www/index.html
    

このようにすることで、プロジェクトが常にgitの制御下に置かれ、gitの外部で変更が発生することはありません(したがって、gitの履歴に記録されません)。これには、リモートリポジトリをまったく変更する必要がないという利点もあります。そこに変更をプッシュするだけです。

symlinkメソッドを使用して他のユーザーがアプリを正しくインストールできるようにする場合は、いつでもシェルスクリプトを提供して、そのユーザーのシンボリックリンクを作成し、サーバー構成が正しいことを確認できます。

于 2012-12-06T02:16:10.277 に答える
1

ソースとランタイムを分離しておくのが最善です。

gitとsourceをどこか別の場所に置いてください。ソースからビルドし(つまり、git checkoutからビルドする)ビルドスクリプトを作成し、ビルドした出力をWebディレクトリに転送します。

したがって、ソースは次のようになります。

/var/src/assets
/var/src/application
/var/src/system
/var/src/.git

そして、ビルドスクリプトはビルドされた出力をにコピーします/var/www

于 2012-12-06T02:09:49.963 に答える