2009-09-29 11 views
9

gitは私がここにほしいと思わないので、助言が必要です。パスワードなどの機密情報を持つ設定ファイルがあります。 (ファイル名はbuild.propertiesある)gitを使ってパスワードファイルの偶発的なチェックインを防ぐ

username = bob 
password = secretpassword 

username = 
password = 

は今、私は実際の値でそれを記入し、その後、.gitignoreするファイルを追加します。私は、空白/一般的な値で設定ファイルをチェックインしていると言います

私はそれを.gitignoreに追加しましたが、gitはまだ "見る"ようです。私はここで何をすべきですか?

hostname$ more .gitignore 
build 
ant.build 
*.swp 
build.properties 

hostname$ git status 
# On branch dev 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: build.properties 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

私は何かを誤解していますか?

+0

だから、もし誰かが 'git -a -m '何をすれば自動的にパスワードを自動的にチェックするのだろうか? – corydoras

+0

はい、バージョン管理下にある場合はコミットに含まれます – knittl

答えて

21

.gitignoreは、まだチェックインされていないファイルだけを無視します。あなたの場合は、password.file.templateを作成し、inをチェックしてください。次に.gitignoreファイルにpassword.fileを入れてください。

4

よく、それはと修正されています:build.properties、誰かがこのファイルをチェックインしています。私のベスト推測は:ファイルを削除し、変更をコミットして、チェックインなしで再作成します。

+0

はい、質問に記載したとおり、テンプレートとして設定ファイルの汎用バージョンをチェックしているので、ユーザーが入力する必要があることは明らかですビルドファイル。 – corydoras

+2

OK、テンプレートを配布したい場合は、これを.gitignoreファイルに追加することはできません(gitはそうしないので)。ですから、build.properties.templateファイルを作成し、それをチェックしてみてください。他の開発者にそのファイルの.template部分を削除し、その資格情報を記入するように指示することができます – seb

+1

これは私がSVNでもやっている方法です。つまり、テンプレートファイルを作成します。 config.sample.txtを作成した後、誤ってコミットすることができないように、実際の設定ファイルを無視されたファイルとして配置します。 –

関連する問題