【问题标题】:Deploying different git branches to subfolder / subdomain将不同的 git 分支部署到子文件夹/子域
【发布时间】:2016-04-07 09:16:27
【问题描述】:
我有 github 帐户,我正在尝试从 github 的各个分支为我的 dev 和 staging 环境创建自动部署。
我面临的问题是dev.mysite.org 和staging.mysite.org 都是我的public_html 目录的子文件夹。
即
public_html (production)
public_html/dev
public_html/staging
我已经将它们添加到 .gitignore 文件中,但是如何将它们设置为独立的存储库,然后让更新后文件根据 Guthub 中更新的分支执行不同的拉取操作?
【问题讨论】:
标签:
git
deployment
staging
【解决方案1】:
为此,您需要子模块。
submodule 允许您在存储库的子目录中保留另一个 Git 存储库。
另一个仓库有自己的历史,不会干扰当前仓库的历史。
这可用于拥有外部依赖项,例如第三方库。
但是,当克隆或拉取包含子模块的存储库时,
默认情况下不会检出这些子模块;
init 和 update 子命令将维护已签出的子模块,并在您的工作树中进行适当的修订。
// Add the submodules to your project
git submodule add <url> name
git submodule add <url1> name1
// init the submodule
git submodule init
// Update the code
git submodule update
现在您可以将它们用作根存储库中的单独存储库