【发布时间】:2015-10-29 10:21:48
【问题描述】:
我想创建一个自动暂存分支创建过程。当用户将他的更改推送到 git 服务器时,它应该检查目标分支 - 如果分支是生产分支,它应该 而不是 推送到临时分支。 (稍后,将开始一个持续集成过程,该过程将负责将更改推送/合并回生产分支。
我尝试过使用 git-hooks,但我觉得我错过了一些东西。没有一个 git-hooks 让我真正修改或操作底层 git 进程并更改目标分支,所以我尝试使用 git-hooks 推送到生产分支,然后停止其余进程 - 但这会导致用户收到失败消息,这是不需要的。
所以我需要一个解决方案:
- 无缝:用户不会知道这种情况正在发生,只要他们知道他们将更改直接推送到目标分支并且不会收到错误代码或令人困惑的消息。
- 无害:不以任何方式修改目标分支。
- 魔术:静默创建或更新与目标分支关联的暂存分支。
- 不可见:应该是服务器端的钩子(例如更新或预接收),这样用户就不需要维护自己的钩子了。
我以前asked this question,但结果并不是我想要的。因此,我创建了一个新问题并进行了更多说明。
我期待答案为我提供“啊哈!”实现我所缺少的。我以前见过这个过程,我知道这是可能的,我只是错过了一些东西。我真正想知道的是,是否可以使用钩子修改底层 git 进程,或者“劫持”钩子返回代码,以便向用户显示一切正常,即使我停止并更改了进程。或者也许是另一种解决方案。
编辑:
我自己正在寻找一个解决方案,并发现了一些关于三角工作流的东西,这似乎正是我想要的。但我不知道如何自动同步它们,似乎每个好的解决方案都需要一些手动输入。虽然我确信我之前已经看到此设置工作并且不需要在客户端运行任何准备脚本,并且暂存过程是自动的。
【问题讨论】:
标签: git version-control continuous-integration githooks staging