1

簡単な例。データベース構成は config.php ファイルに保存されます。

このファイルには機密データ (データベース資格情報) が含まれているため、.gitignore に追加されます。公開リポジトリに入れたくありません。

master ブランチは、本番サイトで動作します。開発ブランチは、テスト サイトで動作します。両方のサイトのデータベース認証情報は異なります。

config.php が追跡された場合、この行を .gitattributes ファイルに追加するだけで、ブランチ固有のバージョンの config.php を使用できます。

config.php merge=ours  

ファイルをパブリック リポジトリ (.gitignore) から除外し、ブランチ固有のバージョンをローカル (.gitattributes) に保持するにはどうすればよいでしょうか?

4

2 に答える 2

0

もっと簡単な方法を提案したいと思います:

test_config.phpたとえば、テストデータベースの資格情報を使用して、名前を付けて他のファイルを作成できます。このファイルも追跡されないようにする必要があります。したがって、本番ブランチでは使用config.phpし、テストブランチでは使用する必要がありますtest_config.php

複雑な git の回避策と比較して、これは非常にシンプルで堅牢なソリューションです。

于 2014-07-15T21:05:31.503 に答える
0

あなたが見ることができるいくつかのことがあります:

https://help.github.com/articles/ignoring-files#ignoring-versioned-files

Read the part: Ignoring versioned files

http://www.twinbit.it/en/blog/storing-sensitive-data-git-repository-using-git-crypt

于 2014-07-16T00:59:46.697 に答える