5

別の開発者は、.htaccess ファイルを git リポジトリに配置する必要があると言っていますが、ライブ サーバーはパスワードを使用し、ローカル ボックスはパスワードを使用しないため、.gitignore に配置する必要があると私は言いました。ただし、インスタンス間で異なる .htaccess ファイルを使用する必要がある場合、それは間違っていると彼は言います。すべてのサーバー インスタンスが同じになるわけではなく、場合によっては (頻繁ではないにしても) 独自の構成が必要になることもあります。彼は、ライブで .htaccess にコピーされる「htaccess」ファイルをレポに作成するだけでよいことに同意しましたが、それでも彼のやり方を好んでいました。私にとって、サーバー構成などはレポから除外する必要があります。また、ライブサーバーと正確に一致させるため、または VM ソフトウェアを実行するためだけに、開発 OS を変更する必要があるかどうかもわかりません。ここで何か不足していますか?どちらが最善の方法ですか、またはより良い代替手段は何ですか?

4

2 に答える 2

3

私は git を主にソフトウェア コンポーネント (コード行など) のトラッカーと考えており、ソフトウェア構成ではありません。

サーバーのパスワードは構成であるため、変更管理から除外されます。.htaccess ファイルは、アプリケーションの正しい操作に必要な構成アーティファクトです (あなたの場合は理解しています)。したがって、git を介して制御を変更する必要があります。

私の見方では、2 つの選択肢があります。構成をリポジトリから移動する方がエレガントだと思いますが、.htaccess ファイルに保持する必要がある場合は、 .gitattributes で smudge/clean スクリプトを使用できます。スマッジ/クリーン フィルタは、チェックアウト時に追跡対象のコンテンツに定義済みの変更を挿入し (つまり、パスワードを挿入します)、ステージング時に追跡対象のコンテンツからパスワードを削除します (つまり、パスワードを一般的な foobar に置き換えます)。

これらのスマッジ/クリーン フィルターは git 構成で定義されているため、他の方法で追跡されたファイルのように渡されないため、適切なフィルターが配置されている必要がある場所にあることを追跡する必要があることに注意してください。

どちらの場合でも、構成をレポから除外するか、レポのインスタンス全体で手動のスマッジ/フィルター管理を行うかに関係なく、git の使用プロトコルを使用すると、(とりわけ) 構成の処理方法とsmudge/clean スクリプトがサーバー構成が存在する場所および/または場所に移動する状態の規則。

于 2013-02-16T09:08:47.580 に答える
0

.htaccess は環境に固有のものであり、アプリケーションを実行するために不可欠な部分ではないように思われるため、リポジトリに追加しません。

おそらく最も良い解決策は、認証が必要なこれらのサーバーで .htaccess を使用せず、serverconfig で認証を有効にすることです。

于 2013-02-16T04:40:40.510 に答える