我已经初始化了几个本地git repos,但没有一个有<project>.git
文件;只有一个.git
目录。我想将其中一个存储库克隆到本地网络上的另一台计算机,但clone
似乎需要一个<project>.git
文件。该文件是如何生成的?
答案 0 :(得分:1)
要拥有project.git
(而不是project/.git
),您需要使用git clone --bare
或git init --bare
。
这会创建一个 bare repository ,一个只有.git内容且没有工作树。
答案 1 :(得分:1)
如果您只需要将项目复制到包含所有文件和git
数据的其他计算机,那么只需复制您拥有.git
存储库的文件夹即可。 .git
目录包含git的元数据(以及所有版本历史记录)。这将包含项目的完整工作树,其中包含git版本历史记录。这称为非裸存储库。
非裸存储库是另一个存储库的克隆,加上本地状态,例如.git / HEAD,它指示检出哪个修订版,索引用于标识已签出树中已更改的内容并帮助准备提交对象等。
裸仓库是project.git
,不包括工作树和.git
文件夹。使用git init --bare
或git clone --bare
创建的裸存储库基本上是用于共享的。如果您与开发人员团队合作,并且需要一个位置来共享对repo的更改,那么您可以在集中的位置创建一个裸存储库,所有用户都可以在其中推送他们的更改。
因此,如果您需要bare
个回购,即project.git
,则需要创建一个。目录中的project.git
或.git
文件夹相同,其中包含git
元数据和版本历史记录。
答案 2 :(得分:0)
好像你正在尝试托管一个git服务器