2011-12-03 5 views
0

コードに沿って、パスワード、アマゾンs3キーなど、gitに送信したくない非常に機密性の高い情報が存在する可能性があります。gitにプッシュするときに特定の行が表示されない

私はこれらの非常に特定のフィールドを "SECRET"などに置き換えてください。 また、git private repoはこれを解決していますか?

+1

答えは、追跡されたファイルにそのようなものを入れることではありません。私はいくつかの重複をお勧めします... – Cascabel

+0

また、http://stackoverflow.com/questions/2154948/how-can-i-track-system-specific-config-files-in-a-repo-project/2155355# 2155355 – Cascabel

+0

@ RailsN00b:答えの編集を確認してください。私はあなたが私が追加したものを望んでいるとは思わないが、ちょうどの場合... – Throoze

答えて

3

gitはファイルだけでなく、ファイルを追跡するので、これらの行を他のテキストに置き換えると、gitによってコードの変更と解釈されるため、次のコミット時に元の機密情報を上書きします。

私がこれらの場合に行うことは、コードをモジュール化してこの情報を単一のファイルに分離し、ファイル名の行を.gitignoreファイルに追加することです。

.gitignoreファイルは、リポジトリ内の変更を追跡しながらgitで無視されるファイル名の1行に1つのパターンのコレクションです。

たとえば、私がPHPでWebシステムを作成している場合、データベースに接続するための資格情報に関する情報だけを格納するファイルを作成します(フレームワークもこれを使用しています。 ..)。だから私はこのファイルをテストサーバーの資格情報(私の協力者が知っていると思われる)またはダミーの資格情報とともに書き、コミットしてリモートにプッシュしてから、ファイル名を.gitignoreに追加します。

一方、対話的に行をスキップさせるコマンドgit add -pがありますが、それはリモートのリポジトリに記述されていない行をファイルに追加するため、追加するたびに手動で行をスキップする必要がありますファイル...

gitの参考資料はProgitです。あなたがgitで始まっているのであれば強くお勧めします...また、Github's help centerは見るのにはとても良い場所です。

私はそれが役に立ちそうです!がんばろう!!!

+2

これに追加したのは、適切な構造を持つファイルのバージョンを持つことです。本当の場所の横にある '.template'ファイル。その後、新しいチームメンバーがいるとき、またはレポをホースしてリセットしなければならないときは、ファイルをコピーして空白を記入するだけです。また、パスを含むプロジェクトファイルのためにこれを行うことができます... – MattJenko

+0

@MattJenko:私はそれをやったことがない!それはかなり良いアイデアです!ありがとう! =) – Throoze

関連する問題