2012-04-26 11 views
2

私はローカルで作業しているgitプロジェクトを持っています。 MySQLデータベースの接続情報を保存する設定ファイルを持つPHPプロジェクトです。私のローカルMySQL設定はリモート設定とは異なります。私のリモートオンGit - ポスト受信チェックアウトから設定ファイルを除外

、私は、サーバー上のフォルダにファイルをチェックアウトしますポスト受けるフックを持っている:

#!/bin/sh 
GIT_WORK_TREE="../demo" git checkout -f 
chmod +x hooks/post-receive 

は、どのように私は含まれないこのチェックアウトを伝えることができます(設定ファイルを上書きします)、リモートの設定ファイルをローカルのものに置き換えることができるからです。私はローカル設定ファイルを.gitignoreに追加しようとしましたが、それはそれをしていないようです。

チェックアウトから設定ファイルを除外する方法はありますか?

答えて

2

適切な解決策はconfig.php(またはその名前が何であれ)をコミットするのではなく、代わりにに入れてconfig.php.exampleをコミットすることです。

設定ファイルをリポジトリから削除し、リモートマシン上で名前を変更し、最新のコミット(ファイルを削除する)を取得してから元に戻します。あなたは、コマンドを実行して、この

を試すことができます

+1

I私はすでにそれをしていたと思ったが、それは分かった私はそれを正しくしなかった。ありがとう! – matt

0

git rm -r --cached . 

これは、インデックスからすべてを削除し、その後、単に実行します。

git add . 

はそれをコミットします。

git commit -m ".gitignore is now working" 
関連する問題