2009-11-23 133 views

回答

20

只需将.git文件夹远离工作副本。

mv /var/git/repo/repo/.git /var/git/repos/repo.git 

你可能想遵循了一个

git config --bool core.bare true 
在仓库

,以防万一git抱怨不是正确的东西。

+0

如何从一开始就创建一个裸回购股权? – mrblah 2009-11-23 17:15:35

+1

将'--bare'标志传递给'git':'$ mkdir myrepo.git && cd myrepo.git && git --bare init' – mipadi 2009-11-23 17:19:06

+2

或者只是'git init --bare myrepo.git' – 2009-11-23 19:53:14

40

根据FAQ,从非裸到裸的转换可以通过两种方式完成。最好的一个:

$ git clone --bare -l repo repo.git 
$ rm -rf repo 

要从头创建一个纯仓库:

$ mkdir repo.git 
$ cd repo.git 
$ git --bare init 
+0

为什么第一种方法“更容易”?第二种方法似乎更安全*和*更容易(您不需要重命名就可以得到与第一种方法相同的结果,只需'git clone --bare repo'后跟'rm -rf repo'即可)。 – 2009-11-24 14:30:31

+0

@丹是对的,我修改了我的答案只包含安全*和*简单的方法。不过,在我的盒子(1.5.6.5)上使用git版本时,我仍然需要在调用git-clone时提供目标目录。 – 2009-11-24 15:04:45

+2

'git clone'是否将'origin'设置为远程克隆的'origin'?在这种情况下''/ repo',你'rm''d ... – Boldewyn 2010-02-04 19:12:39

5
git clone --bare repo 

这会给你的repo一个新的版本的裸命名repo.git。很简单,不是吗?

相关问题