使用git功能部署网站

时间:2017-03-31 03:22:36

标签: git gitlab

对于一些背景知识,我试图将GIT功能用作部署网站的一种方式。我一直在关注这个:

https://www.digitalocean.com/community/tutorials/how-to-use-git-hooks-to-automate-development-and-deployment-tasks

对我而言,为了使其工作,我需要能够从一个Git存储库中获取代码并将其传输到另一个用" git init --bare"初始化的代码。通过执行此操作,webhooks会激活并将代码部署到服务器上的正确目录中(如链接中所示)

我一直在做什么:

我有一个目标存储库已初始化为:     git init --bare

我有一个原始存储库 - 存储在Gitlab中 - 有一个名为" cons"的分支。

我有一份应该定期执行以下工作的工作:

  1. 获取" cons"的内容分支(来自原始存储库)
  2. 推动" cons"分支到目标存储库
  3. 因此,基本上,我需要设置一个重复的作业,将代码从原始存储库复制到目标存储库。

    对我来说,流程看起来像:

    1. 初始化目标存储库(删除所有文件)
    2. 克隆分支" cons"来自原始存储库
    3. 改变"缺点"分支到#34; master"分支
    4. 移动"主人"分支到目标存储库
    5. 我尝试过这样的事情:

      1. 初始化远程存储库 参考:Delete all files and history from remote Git repo without deleting repo itself

        问题:但由于这将定期运行,我觉得应该有一种方法可以在一个命令中执行

      2. 创建一个工作目录和" cd'进入它

      3. 克隆分支 git clone -b cons --single-branch git@repos.com:CCLVIN/laravel-work.git

        这可行,但它会创建一个"存储库"只有一个分支名称为" cons",没有" master"科。为了让我推送到目标存储库,我需要一个主分支。

      4. 有什么办法可以解决这个问题?

        TIA

0 个答案:

没有答案