2012-03-26 17 views
6

プライベートGithubリポジトリをパブリックにしたいが、プロジェクトにはOAuthデータ(Twitter認証で使用)とデータベースのMySQLログインの詳細が含まれている。 値を簡単に隠す一般的な方法はありますか、またはレポにコミットするときに値を変更するだけですか?私が忘れる可能性があるので、私が求めているのはそうだと思います。OAuthコンシューマーシークレットを公開githubリポジトリや他の機密データに隠す

答えて

1

あなたが(理由は協力者の限られた数の)プライベートレポの歴史を書き換えることができる場合、それが最善のようになります。

  • それらの機密データ
  • がそれらを格納するすべての履歴から完全に削除"他の場所"(つまり、Gitリポジトリではなく外部ソースにあります)
  • 実際の機密ファイルの内容を管理するためにコンテンツフィルタドライバを使用します。例えば
    を参照してください "What's the easiest way to deal with project configuration files?":

content filter driver

アイデアは、チェックアウト時に、に基づいて、実際のファイルを生成することです:

  • ご使用の環境
  • テンプレートファイル
  • 値ファイル(現在の環境に基づいて、ダミー値は別の値ファイルに格納されます)あなたのGitのレポ、またはGitのリポジトリ外の外部ソースに保存されている実際の機密値)

より一般的な考え方は、機密データがGitのリポジトリにまったく保存されるべきではないということです。

関連する問題