Git がそれらに触れないように、それらを追加する必要があるように.gitignore
思えます。その後、手動で簡単にアップロードしたり、展開するたびにシンボリックリンクを作成したりできます。
通常、これは共有にアップロードすることによって行われます。
shared $ tree
.
└── config
└── database.yml
└── system
└── uploads
そして、人々はそれらをリリースにシンボリックリンクするタスクを書きます:
after 'deploy:symlink' do
%w{database system}.each do |path|
run "ln -s #{shared_path + path} #{latest_release + path}"
end
end
このようにして、次の行も gitignore に追加します。
/config/database.yml
/system/uploads
これは、それらが Git によって管理されなくなることを意味し、チームの各開発者はそれらのファイルの独自のコピーを持ち、手動でサーバー上に一度作成する必要があります。二度と彼らを台無しにしないでください。
「将来的にチェックインする必要があるかもしれません」についてはthefile.yaml.example
、リポジトリにコミットし、新しいインストールの手順を文書化して、開発者の生活を楽にすることをお勧めします。
ファイルを に追加するときは.gitignore
、リポジトリからも削除する必要があります。これにより、ファイルの履歴は削除されませんが、現在のヘッドから削除されます。重要な場合は、 を実行してファイルの履歴をいつでも取得できますgit log ./path/to/any/file/even/if/it/does/not/exist.anymore
。より賢明な方法は、 を使用git mv
してファイルを既存の位置から に移動すること{oldname}.sample
です。これにより、履歴が .sample ファイルに転送されます。