如何将gitrepo的子目录部署/推送到Heroku?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

我有一个项目发球是使用Git控制的版本。服务创建一个output文件夹中包含我想要部署到Heroku的静态文件。

我不想部署服务项目本身,因为Heroku雪松堆栈似乎不太喜欢它,但最重要的是,我想利用Heroku对静态网站的巨大支持。

是否有方法将子文件夹部署到Git远程?是否应该在output文件夹(听起来不对),然后把它推给Heroku?

提问于
用户回答回答于

有一个更容易的途径Git-子树。假设想将文件夹“输出”作为根推到Heroku,可以这样做:

git subtree push --prefix output heroku master

目前看来git子树正在被包含到git-core中,但我不知道git-core的版本是否已经发布。

用户回答回答于

我也有过类似的问题。在我的例子中,把Heroku存储库中的所有东西都吹走,用子目录中的任何东西替换它,从来都不是问题。如果这是你的情况,可以使用以下bash脚本。只要把它放在你的Rails应用程序目录中就行了。

#!/bin/bash

#change to whichever directory this lives in
cd "$( dirname "$0" )"

#create new git repository and add everything
git init
git add .
git commit -m"init"
git remote add heroku git@heroku.com:young-rain-5086.git

#pull heroku but then checkback out our current local master and mark everything as merged
git pull heroku master
git checkout --ours .
git add -u
git commit -m"merged"

#push back to heroku, open web browser, and remove git repository
git push heroku master
heroku open
rm -fr .git

#go back to wherever we started.
cd -

我相信有很多方法来改进这一点--所以请告诉我怎么做吧!

扫码关注云+社区