2017-11-13 3 views
1

私はgitを使用してより良い方法でコードを整理しています。gitは完全にファイルを無視します

は、私はすべてのコミットや枝を格納するための中央値GitLabありlocalhostproduction server

にセットアップgitを持っています。 server

、私はセットアップ2つのサブドメイン、私はmasterブランチを引っ張るために初期化され、両方のサブドメインで同じリモートを設定しているapp.example.commaster枝をホストする1とdev.example.com

devブランチのための別のものを持っていますappおよびdevブランチdevに分岐します。

私はいくつかのファイルを3つの場所すべてで分離したいと思っています。私は2つの自分のアプリケーション内のファイルdatabase_config.phpapp.php

database_config.phpを持っているよう

は、ファイルには、データベースの認証情報が含まれており、localhostappdevのデータベース資格情報が異なるため。私はそれが異なっていて、マージ、プッシュ、プルの影響を受けないことが必要です。

同様に、私はdebuglocalhostdevで有効になっている、それを通してapp.phpを持っているが、それは常にappに無効になります。

私はこれらのファイルをローカルホストの.gitignoreファイルに含めましたが、GitLabにプッシュされません。競合が発生した場合はreset HEAD on productionで、GitLabリポジトリに存在しないため、両方のファイルも削除されます。

これらのファイルをgitのどのような操作からも防ぐにはどうしたらいいですか?

+0

まず、ソースリポジトリの資格情報をチェックするのは悪い習慣です。第二に、あなたは構成管理/デプロイメントのためにgitを使用しています。あなたは仕事にもっと適したツールを考慮する必要があります。シェフかアシスタント –

+0

私はリポジトリに資格情報をプッシュしていません。それが 'gitignore'ファイルにある理由です。ハードリセットでは、ローカルファイルはgitにはないので削除されます。これを防ぐ方法は? –

答えて

2

.gitignoreにファイルを追加するときは、ファイルをuntrackする必要があります。 git rm --cached database_config.phpを使用して削除します。

関連する問題