2012-01-20 10 views
3

私がgitを無視したいレールアプリケーションには、いくつかのローカルファイル(私たちのリポジトリの一部です)があります。基本的には、config/environmentsディレクトリとconfig/application.rbファイルのすべての変更を無視したいと思います。 gitignoreを使用したくない理由は、コードベースで作業している他の人がgitによって設定が無視されるようにしたくないからです。基本的に私は設定ファイルを変更するテストをたくさん行っています。時には自分の設定変更がgithubにチェックインされていて、最低限恥ずかしくて、最悪の場合は実稼働環境の問題が発生します。gitでローカル設定ファイルを無視する

ここで最善のアプローチは何ですか?

+0

チェック.gitignoreというファイルを作成するだけでなく、このconfig/database.ymlのように無視するファイルのリストを記述するだけでなく、 /config/*.yml #すべてのログファイルと一時ファイルを無視します。 /log/*.log /tmpの[マシン固有の設定ファイルをコミット]の –

+0

可能複製(http://stackoverflow.com/questions/1396617/committing-machine-specific-configuration-files) – Senseful

答えて

3

global .gitignoreを設定することができます。

ただし、すでにがリポジトリ内のであるファイルの変更が表示されます。ここであなたはwork around thisです。おそらく、bashマクロを作ることができます。

0

マシン固有のもので、プロジェクトリポジトリにはチェックされないglobal .gitignoreを定義できます。

+0

ばかな質問:なぜですこれはグローバルと呼ばれ、ローカルではありませんか? – Ramy

+0

@Ramy:(このマシン上の)すべてのリポジトリでグローバルです。 –

2

を明示的に使用しない限り、git update-index --assume-unchanged config/application.rbを実行しても、gitはそのファイルのローカルコピーに加えられた変更を認識しません。

私が理解しているのは、.gitignoreであり、既にリポジトリに格納されているファイルの処理方法は変更されず、追跡されていないファイルが候補として提示されるかどうかだけです。ちょうどあなたがこの設定のように無視したいファイルのリストをファイル.gitignoreを作成し、言及しないfile.If .gitignoreため

0

チェック/ .gitignore file.Ifためdatabase.ymlの

/config/*.yml 
/log/*.log /tmp 
関連する問題