Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动推送到GitHub或其他Git服务上的特定文件夹_Git_Github - Fatal编程技术网

自动推送到GitHub或其他Git服务上的特定文件夹

自动推送到GitHub或其他Git服务上的特定文件夹,git,github,Git,Github,情况: 我有一个Git回购文件;让我们称之为“机器人”。当我向Robot提交时,我想要一些东西自动将我的新提交提交给特定文件夹下的另一个大型回购协议 问题是: 我不知道怎么做。我知道GitLab有镜像存储库,但它镜像了整个repo,不会镜像到特定的文件夹 编辑: 这里有一个类比: 大型回购就像CDN,Robot是一个框架。基本上有两种方法可以将存储库镜像到多个位置: 客户端(一次推送到两个存储库) 服务器端(仅推送到单个服务器a,并让服务器将推送到另一个服务器B) 客户端 如果您主要从单个工

情况: 我有一个Git回购文件;让我们称之为“机器人”。当我向Robot提交时,我想要一些东西自动将我的新提交提交给特定文件夹下的另一个大型回购协议

问题是: 我不知道怎么做。我知道GitLab有镜像存储库,但它镜像了整个repo,不会镜像到特定的文件夹

编辑:

这里有一个类比:
大型回购就像CDN,Robot是一个框架。

基本上有两种方法可以将存储库镜像到多个位置:

  • 客户端(一次推送到两个存储库)

  • 服务器端(仅推送到单个服务器a,并让服务器将推送到另一个服务器B)

客户端 如果您主要从单个工作副本进行工作(即:您只将respository克隆到一台机器上;并在那里完成所有工作),并且带宽不是问题(而且由于git主要处理在大多数情况下应该是真实的源代码),最简单的方法就是只向您的工作副本添加两(2)
remote
s(或副本):

这里唯一的缺点是,无论何时重新克隆,都必须设置额外的推送url

另见

服务器端 您还可以部署一个服务器端
post-receive
hook,它只会调用
git-push
到另一台服务器

  • 在服务器B上创建存储库:
    uri://serverB/robot.git

  • 在服务器a上创建一个裸存储库

    git create --bare myrepo.git
    
  • 将远程数据库添加到裸存储库

    git remote add origin uri://serverB/robot.git
    
  • 将一个
    post receive
    hook添加到serverA上的裸存储库


    $cat>myrepo.git/hooks/post-receive是“另一个大型回购”Robot的子文件夹?两者之间的关系是什么?Robot的文件是否发布到另一个repo中?不,大repo有点像CDN,Robot是一个框架。@nvioli没有解决方案?同样,这将Robot镜像到另一个repo。我希望Robot镜像到大repo中的特定文件夹
    
    git remote add origin uri://serverB/robot.git
    
    $ cat > myrepo.git/hooks/post-receive << EOF
    git push --all
    git push --tags
    EOF