如何复制裸存储库,保留共享存储库及其效果?

时间:2013-03-26 16:56:01

标签: git permissions

我需要能够复制像这样设置的存储库:

$ git init --bare --shared=0666 first.git

产生这个配置:

$ git --git-dir=first.git config core.sharedrepository
0666

到具有相同配置的第二个存储库。


在磁盘上它看起来像这样:

[drwxrwsrwx] first.git/

但克隆此存储库时:

git clone --bare first.git second.git

第二个存储库具有权限:

[drwxrwxrwx] first.git/

注意:s - > x,还有:

$ git --git-dir=second.git config core.sharedrepository
[exit code: 1]

有没有办法用git-clone执行此操作?我看过--mirror和其他选项,但似乎没什么用。

1 个答案:

答案 0 :(得分:1)

好的,我找到了解决方案。它需要使用git-init来“重新初始化”存储库:

git clone --bare first.git second.git
git init --bare --shared=0666 second.git

由于它是由一个用户克隆的,因此该用户有权对存储库执行事后修复,实际上是对必要部分进行chmod。如果将它整合到克隆中会很好。