如何只部署部分项目到 Heroku?

How to deploy only part of project to Heroku?

我正在构建一个包含两个文件夹的项目:一个在 IOT 设备上 运行,另一个在服务器上 运行。服务器部分将部署在 Heroku 上。不过,我想将该项目放在一个整体 Git 项目中,这样我就可以将它们组织在一起。

/* current setup */
├── server/
├── device/
└── .git/

但是部署一个项目到Heroku意味着服务器的package.json必须在根目录下,这就破坏了项目的对称性。我也不希望服务器承受设备文件的负担。

因此我认为最好的办法是有一个单独的 Git 子文件夹供服务器推送到 Heroku。为此目的拥有子事物的最合适方法是什么?我读过有关子模块和子树的内容,但我发现很难弄清楚这个用例的优缺点。

在大量阅读和比较两个相关选项(子模块和子树)之后,我选择了子树。

子树允许我做我想做的事,即将我的项目的子文件夹推送到 Heroku。

文档 (which can be found here) 并不令人惊奇,但足以理解。