首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将我的git代码库的一个子目录部署/推送到Heroku?

如何将我的git代码库的一个子目录部署/推送到Heroku?
EN

Stack Overflow用户
提问于 2011-09-24 21:39:32
回答 3查看 43.3K关注 0票数 131

我有一个项目,它使用Serve,并使用Git进行版本控制。Serve创建了一个output文件夹,里面有我想要部署到Heroku的静态文件。

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

有没有办法将子文件夹部署到git remote?我是否应该在output文件夹中创建一个Git repo (这听起来不对)并将其推送给Heroku?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-18 15:41:06

通过git-subtree还有一种更简单的方法。假设你想把你的文件夹'output‘作为根目录推送到Heroku,你可以这样做:

git subtree push --prefix output heroku master

目前git-subtree似乎正在被包含到git-core中,但我不知道git-core的那个版本是否已经发布了。

票数 238
EN

Stack Overflow用户

发布于 2013-12-13 06:50:01

我从John Berryman放的东西开始,但实际上,如果你根本不关心heroku git的历史,它可以更简单。

cd bin
git init
git add .
git commit -m"deploy"
git push git@heroku.com:your-project-name.git -f
rm -fr .git

我想官方的git subtree是最好的答案,但是我在我的mac上遇到了一些问题。

票数 11
EN

Stack Overflow用户

发布于 2011-10-11 02:11:01

我也遇到过类似的问题。在我的例子中,清除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 -

我相信有很多方法可以改进这一点-所以请随时告诉我如何改进!

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7539382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档