我有一个大型的私有存储库,它在本地网络上维护。我想将存储库的子树自动推送到网络之外。我需要简单一点:
**有人推送到本地远程存储库->子树自动推送到其他存储库
我不确定是否可以通过服务器端挂钩来实现这一点,因为AFAIK不存在将子树从裸遥控器中推开的情况。我想出了两个主意:
post-commit-hook并让每个用户安装它,但是这很糟糕,不是吗?Git特别指出了策略应在服务器端强制执行。。有什么简单的方法可以实现这样的目标吗?或者这是不可能的,只是虐待吗?
发布于 2017-10-13 12:22:16
嗯,我有点尴尬。显然这比我想象的要容易得多。下面是一个基于@wrzasa建议的草率解决方案:
dir do中:git remote add <remote-name> <remote-address>dir.git/hooks/post-receive中:
#!bin/bash未设置GIT_DIR cd ./dir git拉./di.git子树拆分-前缀=-分支= git推送
记住要使post-receive可执行。如果您想知道为什么需要unset GIT_DIR,请参阅unset GIT_DIR。差不多就是这样。现在,每当有人推送到dir远程(即dir.git)子树时,<subdir-in-dir>下的子树将被推送到<remote-name>。
https://stackoverflow.com/questions/46714487
复制相似问题