Gemfile.lock
包含在.gitignore
中。这是开发人员之间的协议,它应该保持这样。有没有办法将代码推送到Heroku?或者你可能会建议一些不使用Git部署应用程序的Ruby托管?
答案 0 :(得分:1)
要将其推送到Heroku,您必须将其添加到您的仓库中。你为什么不想承诺呢?它是recommended在你的回购中提交Gemfile.lock(除非你正在开发一个gem):
在开发应用程序时,请检查您的Gemfile.lock,,因为您将在所有计算机上使用捆绑工具,并且捆绑程序强制执行的精度非常适合应用程序。
答案 1 :(得分:0)
所以,目前我们正在以下列方式做事:
Gemfile.lock
origin
遥控器以防止意外推送到我们的Git,只留下heroku
,Gemfile.lock
然后,如果我们在特殊情况下需要在Heroku上进行一些实时调试,我们将复制文件夹保留为未删除状态,将更改的文件从主文件夹复制到它并进行小型提交以在Heroku上发布它们。
如果我们需要做最后的出版物:
Gemfile.lock
这可以防止我们在Git存储库中进行一些小的调试提交。
我们中的一些人有一个Windows批处理文件可以自动发布:
@echo off
rmdir /s /q heroku
xcopy /E /H our-app-folder heroku\
cd heroku
git remote remove origin
git add .
git add --force Gemfile.lock
git commit -m "Heroku push"
SET HOME=%HOMEDRIVE%%HOMEPATH%
git push heroku master -f
cmd /c heroku pg:reset DATABASE --confirm heroku-app-name
cmd /c heroku run rake db:migrate
cmd /c heroku run rake db:seed
cmd /c heroku restart
pause
我们需要这样做,因为Heroku只支持通过Git发布。