我有一个项目,它使用Serve,并使用Git进行版本控制。Serve创建了一个output
文件夹,里面有我想要部署到Heroku的静态文件。
我不想部署Serve项目本身,因为Heroku Cedar堆栈似乎不太喜欢它,但最重要的是,我想利用Heroku对静态网站的强大支持。
有没有办法将子文件夹部署到git remote?我是否应该在output
文件夹中创建一个Git repo (这听起来不对)并将其推送给Heroku?
发布于 2012-05-18 15:41:06
通过git-subtree还有一种更简单的方法。假设你想把你的文件夹'output‘作为根目录推送到Heroku,你可以这样做:
git subtree push --prefix output heroku master
目前git-subtree似乎正在被包含到git-core中,但我不知道git-core的那个版本是否已经发布了。
发布于 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上遇到了一些问题。
发布于 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 -
我相信有很多方法可以改进这一点-所以请随时告诉我如何改进!
https://stackoverflow.com/questions/7539382
复制相似问题