0

2 つのブランチがある場合、master& secret. そして、機密データを にコミットしますがsecret、をプッシュすることはなく、パブリック リポジトリにプッシュするだけsecretですmasterそれらの間を決してマージせず、 rebase のみを使用する場合、機密データが何らかの形でリモート リポジトリ インデックスに保存される可能性secretはありますか?

ユースケース:~/.configすべてのマシンのディレクトリをパブリック Git リポジトリに保持しています。ただし、パスワードが必要で、環境変数を使用できないプログラムがいくつかあります。私の考えは、マシンごとに機密データ用に異なるブランチを保持し、git フックを使用して機密データをブランチmasterに拒否し、マシン ブランチを公開することを禁止することです。でも心配です

4

1 に答える 1

2

秘密のビットがリモート リポジトリにプッシュされないように、細心の注意を払う必要があります。たとえば、 から にマージsecretmasterたり、誤って をプッシュしたりするsecretと、それらが抜けてしまいます。コードに TODO がある場合に git push を無効にする方法を参照してください。フックを使用してポリシーを実装するためのものですが、フックも意図した目的に失敗する可能性があります。

はい、秘密のビットを独自のローカル git リポジトリに隔離することは技術的に可能ですが、機密データをリポジトリから完全に除外し、代わりに構成ファイルまたはソース ファイルに配置することをお勧めします.gitignore。それぞれの場所によっては除外される可能性があります。

于 2015-02-15T12:49:32.233 に答える