聽起來像他們應該被添加到您的.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文件。