【发布时间】:2018-03-24 16:18:12
【问题描述】:
我有一个在本地网络上维护的大型私有存储库。我想自动将该存储库的子树推送到该网络之外。我需要它很简单:
*Task* 有人推送到本地远程仓库 --> 子树会自动推送到其他仓库
我不确定这是否可以通过服务器端挂钩来实现,因为 AFAIK 没有从裸遥控器推送 子树 这样的事情。我想出了两个想法:
- 我可以在服务器上克隆远程并自动拆分克隆远程中的子树。这并没有真正的帮助,因为我不知道如何自动拉取子树(其他人也有 this problem)。
- 另一个想法是编写一个自定义客户端
post-commit-hook并让每个用户都安装它,但这很糟糕,不是吗? Git book 明确指出policies should be enforced on server side。
有没有一种简单的方法可以实现这样的目标?或者这是不可能的,它只是 git 滥用?
【问题讨论】:
-
你可以从一个裸远程仓库的 post-receive 钩子推送到另一个远程仓库,那有什么问题呢?
-
@wrzasa 嘿,谢谢你的提问。也许我没有把这部分说清楚:你能从裸遥控器推送 subtrees 吗?我想,由于在裸机上没有工作树之类的东西,因此您无法真正指定子树。 E:我编辑了问题以使其清楚
-
没有使用子树,但你总是可以在你的钩子中检查你的 repo 到一个临时目录,然后做你需要的任何事情。
-
@wrzasa 谢谢,我不知道。我试试看。
-
祝你好运!这里有一些钩子示例:digitalocean.com/community/tutorials/…
标签: git githooks git-subtree