2016-03-25 9 views
0

私のプロジェクトには、データベース接続とプライベートAPIキーを含む1つのファイルがあります。私のプロジェクトを使っている人は、そのファイルが必要ですが、私のプライベートAPIキーにアクセスするべきではありません。1つのファイルをスキップするが、リポジトリの一部として残る

これを管理するにはどうすればよいでしょうか?匿名化されたファイルを一度githubにアップロードし、リポジトリに含めないでください。または、プライベートstufと匿名化されたオンライン版を使用してローカルファイルを作成するより良い方法があります。

Gabrie

+2

秘密鍵は、プロジェクトによって参照される*別のファイルに保存する必要があります。プロジェクト自体ではありません。 – chepner

+1

さらに一般的に、データベースに接続するために必要なキー(またはキーを含むファイル)は、構成オプションでなければなりません。 – chepner

答えて

1

それについて移動する1つの方法は、次のコマンドを発行し、その後、あなたのファイルの匿名バージョンを追加してコミットすることです:

git update-index --assume-unchanged <file> 

git-update-indexためのドキュメントを参照してください。)

Gitはこのファイルの変更を無視するので、私的なものを追加することができます。インデックスに追加して偶然にコミットすることはできません。

もちろん、これはローカルリポジトリにのみ影響するという欠点があります。プロジェクトで作業している他の開発者は、自分のローカルリポジトリで同じコマンドを実行しない限り、このファイルの変更を監視します。

このファイルで何かを変更し、これらの変更をコミットしたい場合、あなたは逆のコマンドを実行する必要があります、ので、それは、また少し厄介です:その後、

git update-index --no-assume-unchanged <file> 

そしてコミットすることを確認してくださいGitにもう一度変更を知らせないように、非公開の変更(プライベートなものを一時的に削除するか、インタラクティブな追加を使用するか)を行い、元のコマンドをもう一度実行したい場合があります。

関連する問題