Pro Git book指出我需要先在现有目录内创建回购,然后克隆它为'裸'。我已阅读this article关于为什么使用'裸'存储库,似乎我需要把它视为'起源',它应该用来拉和推。我不明白的是,为什么我需要首先创建管理库,然后将其克隆为“裸”?为什么我无法创建'裸'回购,然后提交目录中的文件?创建'裸'git回购没有克隆它
如果我删除了“裸”回购库创建的目录,该怎么办?它会以某种方式影响'裸'存储库吗?
Pro Git book指出我需要先在现有目录内创建回购,然后克隆它为'裸'。我已阅读this article关于为什么使用'裸'存储库,似乎我需要把它视为'起源',它应该用来拉和推。我不明白的是,为什么我需要首先创建管理库,然后将其克隆为“裸”?为什么我无法创建'裸'回购,然后提交目录中的文件?创建'裸'git回购没有克隆它
如果我删除了“裸”回购库创建的目录,该怎么办?它会以某种方式影响'裸'存储库吗?
您可以创建一个裸露的程序存储库足够容易:
$ git init --bare <directory>
如果你克隆它,你可以删除原来的库一次克隆。克隆存储库中的远程origin
将无法访问,因此您可能希望在之后将其删除。
不,遥控器在裸仓库反正非常有用......
这可能是开始情形稍有分歧。
您可以通过使用git init --bare
创建一个像其他任何其他裸回购。这将创建没有任何内容的存储库。
然而,并不克隆与沟通,你没有得到的文件进去的方式,因为裸露的回购没有工作目录。
如果你想要把现有的文件到裸回购,你有去大约两个方面:
如果没有在远程变体1中添加原始非裸机,您可以看到变体2具有更多步骤。
好的,谢谢!我想这是一个误解:)。我想我仍然失去了为什么我需要裸回购。有什么好的网页上的文章或在解释它的stackoverflow问题? –
http://bare-vs-nonbare.gitrecipes.de/可能会帮助 –
谢谢!我想现在我已经明白了。如果我只为推/拉操作使用“裸”回购,并且实际提交将在本地非裸仓中进行,我不需要从正常回购开始。 –
为什么我无法创建'裸'回购,然后提交 目录中的文件呢?
因为你不能将文件提交到裸回购。通常情况下,如果你创建一个仓库(使用git init
或git clone
),git将创建仓库结构(.git子目录)和一个工作树,这是一个工作树,它是当前提交文件被签出的目录。
裸露的回购仅仅是一个没有关联工作树的回购。所以没有办法将文件提交到它,因为没有工作树来提交文件。
感谢您的澄清! –
谢谢!我已经知道你从git remote list中克隆出来的存储库变成'origin'了:) –
'如果你克隆了它,你可以在克隆后删除原来的存储库。' - 我想这可能是第一个很好的补充选项在@Nevik Rehnel发布的帖子中列出 –
你可以,但你不必,@Maximus。你可以使用最初的回购作为一个正常的工作克隆。 –