Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将项目上载到Github,部署并更新它_Ruby On Rails_Git_Deployment_Capistrano - Fatal编程技术网

Ruby on rails 将项目上载到Github,部署并更新它

Ruby on rails 将项目上载到Github,部署并更新它,ruby-on-rails,git,deployment,capistrano,Ruby On Rails,Git,Deployment,Capistrano,我做了我的第一个“大”项目,但我有一些关于上传到存储库,然后部署它的问题 我创建了一个Rails项目,并提交了包括production.rb在内的所有文件(忽略数据库和不感兴趣的内容) production.rb文件有邮件配置,所以我在其中有一些虚假的配置 问题是,在部署时,我修改了production.rb文件(还有2-3个文件),所以我的问题来了: 当我推动更改时如何更新项目?如果我在本地修改的文件上推送更改,“git-pull”将不起作用 我想上传这些文件,因为我希望其他用户能够轻松使用我

我做了我的第一个“大”项目,但我有一些关于上传到存储库,然后部署它的问题

我创建了一个Rails项目,并提交了包括production.rb在内的所有文件(忽略数据库和不感兴趣的内容)

production.rb文件有邮件配置,所以我在其中有一些虚假的配置

问题是,在部署时,我修改了production.rb文件(还有2-3个文件),所以我的问题来了:

当我推动更改时如何更新项目?如果我在本地修改的文件上推送更改,“git-pull”将不起作用

我想上传这些文件,因为我希望其他用户能够轻松使用我的应用程序

capistrano是解决这个问题的方法吗?AFAIK capistrano依赖于git回购(以及其他),因此如果我在本地修改文件,capistrano也会哭


那么,当您必须拉取新的更改并且您在本地修改了一些文件时,您的人会做什么呢?

如果您正在对文件进行更改,并且您希望其他人使用这些文件,那么它们可能应该在您的git repo中。如果它们包含敏感信息(即密码、用户名),那么它们肯定不应该出现在您的git repo中,您可以使用capistrano put命令部署它们。这个命令将通过scp将文件复制到部署服务器。您甚至可以先通过erb运行这些文件,这样就可以在capistrano中设置变量或传入变量,而不必担心git repo中存在敏感信息。你可以找到一些关于卡皮斯特拉诺的好信息。其中一集是付费的,但如果您正在进行大量的rails开发,那么它是一个非常好的资源。

我订阅了专业Railcast,一周前我结束了capistrano的学习,现在一切都正常了。无论如何,我会把这个答案视为有效的。