Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在服务器上创建git存储库时,我可以将其转换为裸存储库吗?_Git_Git Bare_Git Non Bare Repository - Fatal编程技术网

在服务器上创建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