在服务器上创建git存储库时,我可以将其转换为裸存储库吗?
我已经创建了一个存储库。我可以把它做成裸体还是从头开始?只要把在服务器上创建git存储库时,我可以将其转换为裸存储库吗?,git,git-bare,git-non-bare-repository,Git,Git Bare,Git Non Bare Repository,我已经创建了一个存储库。我可以把它做成裸体还是从头开始?只要把.git文件夹从工作副本上移开就行了 mv /var/git/repo/repo/.git /var/git/repos/repo.git 你可能想用一个 git config --bool core.bare true 在该存储库中,以防万一git会抱怨某些错误。根据,从非裸到裸的转换可以通过两种方式完成。最好的: $ git clone --bare -l repo repo.git $ rm -rf repo 要从头开始创
.git
文件夹从工作副本上移开就行了
mv /var/git/repo/repo/.git /var/git/repos/repo.git
你可能想用一个
git config --bool core.bare true
在该存储库中,以防万一git会抱怨某些错误。根据,从非裸到裸的转换可以通过两种方式完成。最好的:
$ git clone --bare -l repo repo.git
$ rm -rf repo
要从头开始创建裸存储库,请执行以下操作:
$ mkdir repo.git
$ cd repo.git
$ git --bare init
这将为您提供名为
repo.git
的全新裸版repo
。容易的,否?我如何从一开始就创建一个裸机回购协议?将--bare
标志传递到git
:$mkdir myrepo.git&&cd myrepo.git&&git--bare init
或者只需git init--bare myrepo.git
注意,能够执行git init bare
作为git--bare init
的替代方法出现在v1.5.6中~6月8日。为什么第一种方法“更简单”?第二种方法似乎更安全、更简单(你不需要重命名来获得与第一种方法相同的结果,只要git clone--bare repo
,然后是rm-rf repo
就可以了)。@Dan是对的,我修改了我的答案,只包含了安全、简单的方法。虽然我的盒子上有git版本(1.5.6.5),但在调用git clone时,我仍然需要提供目标目录。git clone
是否将origin
remote设置为从中克隆的目录?在本例中,您可以使用/repo
,您可以rm
'd…现在建议使用git克隆--bare-l
。-l
要求提供硬链接,这会加快速度。尽管请注意,使用git clone会丢失配置设置/远程,但要小心。请注意,使用-l进行硬链接将在克隆过程中节省时间和空间,并防止在以后删除非裸repo时丢失数据,因为文件仍由裸repo链接。当然,只有当文件系统支持硬链接时,它才起作用。。
git clone --bare repo