1

当部署在生产中时,有时很难证明拉取的合理性,以便您可以合并和推送更改(我们在中央存储库上有一个仅快进策略)。

但是,我确实希望尽快合并这些更改,以便新部署可以从修复中受益。因此,我将更改从生产部署拉到非生产部署,然后从那里进行拉-合并-推。

我已经设置了一系列遥控器,这样我就可以轻松地一次从许多遥控器中提取更改,但这只有在工作目录干净的情况下才有帮助。

由于每个部署我们有数十个存储库,数十个部署和小修复可能已应用于其中任何一个,我想知道是否有一种简单的方法可以判断远程从远程拉取时是否有一个干净的工作目录,并且当遥控器变脏时进行标记。

定义:

  • 部署:使用buckminster部署的一系列 git 存储库,从我们的中央(裸)存储库克隆。
  • 生产:实时运行的部署。预计生产部署的更改不会超出绝对必要的范围,即仅进行必要的错误修复。
  • 非生产:不实时运行的部署,我们可以自由地拉取、合并、推送和更改分支,而不会有e-git 弄乱权限位并导致实时系统停止工作的风险。
4

1 回答 1

1

git pull 的远程仓库端没有钩子,因此这意味着您需要:

虽然这不是一个完整的机制,但更强大的方法是:

  • 对于每个非生产 repo,除了非裸 repo 之外,还有一个裸非生产 repo
  • 非裸仓库中的钩子以同步裸仓库(将在非裸仓库中完成的任何新提交拉到裸仓库)
  • 仅从裸“非生产”存储库中提取(裸 rpeo 意味着没有工作目录,因此“脏”状态没有问题)。
于 2013-10-30T09:52:11.513 回答