如何正确配置git fetch的裸存储库?

如何正确配置git fetch的裸存储库?,git,Git,(此问题基于和。) 我从GitHub克隆了一个裸存储库,其想法是: 开发人员使用GitHub,并推送到GitHub 在服务器上,上述裸repo从GitHub获取(比如,/var/repo/my_repo) 裸repo被克隆到一个或多个“文档根”位置,用于web服务,以方便代码库的各种签出。因此,/var/www/my_repo_live和/var/www/my_repo_dev都是/var/repo/my_repo的非裸克隆,但签出了不同的分支或标记以提供服务 我似乎在git克隆中遇到了一些

(此问题基于和。)

我从GitHub克隆了一个裸存储库,其想法是:

  • 开发人员使用GitHub,并推送到GitHub
  • 在服务器上,上述裸repo从GitHub获取(比如,
    /var/repo/my_repo
  • 裸repo被克隆到一个或多个“文档根”位置,用于web服务,以方便代码库的各种签出。因此,
    /var/www/my_repo_live
    /var/www/my_repo_dev
    都是
    /var/repo/my_repo
    的非裸克隆,但签出了不同的分支或标记以提供服务
我似乎在git克隆中遇到了一些复杂问题:

  • 使用
    --bare
    时,“远程分支头直接复制到相应的本地分支头,而无需将它们映射到
    refs/remotes/origin/
  • “未创建远程跟踪分支或相关配置变量。”
这很有意义:因为您不打算在一个空存储库中进行编辑,所以不需要将远程跟踪与本地跟踪分支分开。但是,那么:

  • 你要怎么取
  • 鉴于远程分支头直接复制到相应的本地分支头,如何设置
    remote.$remote\u name.fetch
    refspec?它应该是
    fetch=+refs/heads/*:refs/heads/*

p.S.出于许可原因,我将
/var/repo/my_repo
与文档根repo分离。我不想让面向公众的
www-data
进程访问链接到GitHub的存储库。这是不是太过分了?不管这是否有点过分,我还是想知道如何通过裸回购妥善管理回笼。

你看到了@mnagel:no!我没见过。非常感谢。我会查一下镜像回购。我从没听说过他们。与此同时,我只是在repo下的
.git/config
中使用
refs/heads/*:refs/heads/*
(或者直接使用
git fetch
)来获得我想要的结果。我想知道在概念上什么是对的。