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

时间:2013-09-03 16:26:25

标签: git

(此问题建立在How do I update my bare repo?git fetch doesn't fetch all branches上。)

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

  • 开发人员使用GitHub,然后推送到Github。
  • 在服务器上,上面提到的裸装回购来自GitHub(例如/var/repo/my_repo
  • 将裸仓库克隆到一个或多个“文档根”位置以进行Web服务,以便于对代码库进行各种检出。因此,/var/www/my_repo_live/var/www/my_repo_dev都是/var/repo/my_repo的非裸克隆,但已签出不同的分支或标签进行投放。

我似乎遇到了一些复杂问题 - 来自git clone manpage

  • 使用--bare时,“遥控器上的分支头直接复制到相应的本地分支头,而不将其映射到refs/remotes/origin/。”
  • “远程跟踪分支和相关配置变量都没有创建。”

这是有道理的:因为您不打算在裸存储库中进行编辑,所以您不需要将远程跟踪与本地跟踪分支分开。但是,那么:

  • 你应该如何获取?
  • 鉴于远程分支头直接复制到相应的本地分支头,您如何设置remote.$remote_name.fetch refspec?它应该只是fetch = +refs/heads/*:refs/heads/*吗?

P.S。出于权限原因,我将/var/repo/my_repo与文档根目录分离。我不希望面向公众的www-data进程访问链接到GitHub的存储库。这有点矫枉过正吗?不管它是否过度杀戮,我仍然想知道如何用一个简单的回购来正确管理提取。

0 个答案:

没有答案