2017-05-29 17 views
1

私はgitで働いており、sensitiveというブランチを作成し、機密データ(パスワード、鍵など)をsensitiveに送信します。私はmasterで機密データを決して決してしません。sensitivemasterにマージすることは決してありませんが、私はsensitivemasterを引きます。私がgit push origin masterになったとき、機密データの塊をサーバーに押し込む危険がありますか?プッシュされていないブランチに機密データを保存することは安全ですか?

+0

重要なデータをコミットせず、ブランチやタグなどの名前を決して指定しない場合、 'git push 'は機密データをプッシュしません。しかし、機密データを確実にコミットしないようにするために、gitの開発者/ユーザであるあなたには責任があります。より安全な手段があり、人々がこのような状況に対処するための「典型的な」方法である、より良い方法については、ここでの上の回答を参照してください。 –

答えて

4

あなたの質問はGitについてですが、実際はあなたの問題は別のものです。そして、それは(少なくとも)一つの解決策を持っています。

  1. 、という名前のファイルに機密データを入れてのは言わせ、configそれは.gitignoreに名前(とパス)です追加します。
  2. このファイルの複製を作成し、名前をconfig.distとし、機密データをダミーデータに置き換えてリポジトリに追加します(機密データは絶対に含まれてはいけません)。ファイルのヘッダーには、configとコピーしてカスタマイズする必要があることを説明してください。
  3. コードの構成をconfigから読み込ませます。ボーナスポイントの場合、configが利用できない場合は、config.distをロードさせることができます。
  4. コミットしてプッシュします。

レポに格納されることはありません実際のconfigファイルのテンプレートとして働くconfig.distファイル。各開発者は、必要に応じて、自分のconfigファイルをカスタマイズできます。あなたの質問に答えるために


config/ config.dist(ファイルパス、データベース接続パラメータ、パスワードなど)、あるシステムから別のシステムに変更するすべての情報が含まれているか、プロジェクトの存続期間中に変更される可能性がありますしてみましょう、ソリューション上記に提示されている値は100%安全です(人為的なエラーを離れさせてください)。 configファイルがリポジトリに届かないので、Gitが内部的にどのように動作しても、機密データは決してリモートリポジトリにプッシュされません。

+1

また、gitフック(例:事前コミット)を実装することで、人間のエラーからさらに保護することができます。 – JooMing

0

いいえ、危険はありません。あなたがリポジトリにアクセスできるすべての人に機密データを共有することを考慮していない場合。

関連する問題