0

パスワードとユーザー固有のデータを含む構成ファイルで構成されるいくつかのファイルを含むプロジェクトがあります。このプロジェクトをgitpullを介してサーバーにデプロイし、コンピューターからgitpushを介して変更をコミットします。

gitにはgitfilter-branchcommit-filerがあり、sedコマンドでパスワード変数を無視できることに気づきました。

プルするときに同様のフィルターはありますか?

私はこのようなリモートマスターオリジンファイルを持ちたいです:

array(
'pass'=>'your_pass'
)

プルするときは、この行を無視したいと思います。

そのタイプのファイルを共有するためのより良い方法はありますか?

4

1 に答える 1

1

git filter-branch既存のコミットを変更します。新しいコミットでは自動的に機能しません。

あなたが欲しいのはフックです。

ただし、並列タイムラインを作成せずにコミットされたオブジェクトを変更することはできないため、そのファイルの値を完全に無視することはできません。チェックアウトとコミット時に常にマスクされた行を無視するフックを設定して、作業ツリーでそれらを最大でマスクできます。しかし、それは非常に複雑であり、開発者にとっては困難になります。

より良い代替策は、そのような構成をgitによって無視される別のファイルに配置することです。各開発者は、独自の設定とパスワードを使用してそのファイルのローカルコピーを維持する必要があります。パブリック(または少なくとも共有)リポジトリにパスワードを設定することは決して良い考えではありません。パスワードは常に非公開にする必要があります。

于 2012-08-30T09:22:12.593 に答える