使用分离的分支进行部署

Ale*_*der 5 git continuous-integration github

我即将为客户设置和自动构建环境.我想将Git存储库推送到客户端的构建服务器,但没有完整的Git历史记录.

我正在考虑一种方法git checkout --orphan ci,但我不清楚如何使用这样的分支设置每天工作.

也许是这样的(?):

  • 将在上创建新的提交master.
  • 一个功能在几次提交后完成.
  • ci然后在该分支上重新分配/合并(快进)master.
  • ci 分支签出.
  • 最近的提交(尚未推送到任何服务器)被压缩以隐藏客户端不必要的历史记录.
  • ci分支被发布到构建服务器.
  • ...

这是一种有效的方法和/或是否存在更简单的方法?

mam*_*ufo 6

管理这个的一个简单方法可能是:

  • 正常工作master(或使用任何其他功能分支模型).
  • 每次完成功能并希望将其推送到CI系统时,您:

    • git checkout ci
    • git merge --squash master这将把所有更改master带到您的ci分支.
    • git commit您将拥有一个预先填充的提交消息,其中包含所有压缩的提交消息.然后,您可以编辑此消息以反映该功能中的所有更改.
    • git push origin ci 将更改发送到CI系统.

有很多分支模型,但这应该足够简单,并给你你想要的.

我希望这有帮助.