Jekyll使用git进行部署

时间:2013-07-26 00:11:54

标签: git deployment jekyll

我有一个具有此文件夹结构的Jekyll网站:

jekyll_site
  _source
    file1 in source
    file2 in source
    etc...
  _deploy
    file1 in deploy
    file2 in deploy
    etc...

我在jekyll_site中初始化了一个git repo,我有两个分支master和source。 我希望源分支只跟踪_source文件夹,并且master只跟踪_deploy文件夹。此外,我想将它们推送到远程存储库,但是使master分支显示为(在远程仓库中):

master branch
  file1 in deploy
  file2 in deploy

而不是:

master branch
  _deploy
    file1 in deploy
    file2 in deploy

所以我想将整个事情提升一级。 假设我可以在部署中创建另一个repo以使其成为root并单独推送它们?但也许有一个回购也可能。 对不起,如果我忽略了一些非常明显的事情,我很累(并且非常愚蠢)。

1 个答案:

答案 0 :(得分:0)

这里有一些不同的事情。

  • Git的设计目的是在一个分支上管理一个目录,在另一个分支中维护另一个目录。要按照您描述的方式单独管理两个目录,需要两个Git repos。 jekyll_site/_source的一个存储库和jekyll_site/_deploy的第二个存储库。

  • 使用两个Git repos可以将“_deploy”文件上移一级。由于将在jekyll_site/_deploy创建存储库,因此文件将部署到根目录。

  • 如果您决定仍想使用单个存储库,请不要与Git作斗争。也就是说,不要尝试使用不同的分支来单独管理_source_deploy目录。只需在jekyll_site级别创建一个回购。使用这种方法,除了Git之外,您还需要使用某些东西进行部署。编写一个简单的脚本,将文件从_deploy移动到最终需要的位置。

  • 不要试图将一个Git存储库放在另一个存储库中。坏事会发生。 (有一种方法可以做“Submodules”,但在你有更多Git经验之前,这不是你想要搞的东西。)