听起来应该将它们添加到您的.gitignore
文件中,以便 Git 不会触及它们,然后您可以轻松地手动上传它们一次,或者在每次部署时对它们进行符号链接。
通常,这可以通过将它们上传到共享中来完成:
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 管理,您团队中的每个开发人员都将拥有自己的这些文件的副本,并且必须在服务器上手动创建一次,然后 Git 或 Capistrano 将不会不要再惹他们了。
关于“我将来可能需要检查它们” - 我建议您可以提交thefile.yaml.example
到存储库,并记录新安装的过程,以使您的开发人员的生活更轻松。
当您将文件添加到 时.gitignore
,它们也需要从存储库中删除,这不会删除文件的历史记录,但会从当前头中删除。如果它很重要,您总是可以通过git log ./path/to/any/file/even/if/it/does/not/exist.anymore
. 更明智的做法可能是git mv
将文件从其现有位置移动到{oldname}.sample
,因此历史记录将转移到 .sample 文件中。