(此问题建立在How do I update my bare repo?和git fetch doesn't fetch all branches上。)
我从GitHub克隆了一个裸存储库,其理念是:
/var/repo/my_repo
)/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的存储库。这有点矫枉过正吗?不管它是否过度杀戮,我仍然想知道如何用一个简单的回购来正确管理提取。