为什么git clone有时创建.git目录,有时不创建?

为什么git clone有时创建.git目录,有时不创建?,git,git-clone,Git,Git Clone,前面至少有3个问题解释了如何在没有.git目录的情况下克隆存储库: 从这些问题来看,似乎您不能在没有.git目录的情况下运行git clone并克隆存储库 然而,在我克隆的大多数repo中,比如下面命令中的一个,没有生成.git目录 git clone https://github.com/scotch-io/scotch-box.git 什么决定了直接的git clone命令是否创建.git目录?您确定要在正确的位置查找.git?当你做一个像git克隆这样的克隆时https://g

前面至少有3个问题解释了如何在没有.git目录的情况下克隆存储库:

从这些问题来看,似乎您不能在没有
.git
目录的情况下运行
git clone
并克隆存储库

然而,在我克隆的大多数repo中,比如下面命令中的一个,没有生成
.git
目录

git clone https://github.com/scotch-io/scotch-box.git

什么决定了直接的
git clone
命令是否创建
.git
目录?

您确定要在正确的位置查找
.git
?当你做一个像
git克隆这样的克隆时https://github.com/scotch-io/scotch-box.git
,repo实际上是在目录
scotch box
中克隆的,因此
.git
将位于
scotch box/.git

另一方面,做:

git克隆


注意末尾的
将在当前文件夹中克隆(如果该文件夹还不是git repo)

您确定要在正确的位置查找
.git
?当你做一个像
git克隆这样的克隆时https://github.com/scotch-io/scotch-box.git
,repo实际上是在目录
scotch box
中克隆的,因此
.git
将位于
scotch box/.git

另一方面,做:

git克隆


请注意结尾处的
将在当前文件夹中克隆(如果该文件夹还不是git repo)

git clone
之后始终有一个
.git
目录。也不例外。如果您看不到它,则它是隐藏的(这取决于您的操作系统。
ls
在linux上不显示以点开头的文件/dir。您必须使用
ls-a

.git
目录非常重要,因为它包含git使用的所有文件和信息

下面是您提到的
git克隆后发生的情况:

/tmp % git clone https://github.com/scotch-io/scotch-box.git
Cloning into 'scotch-box'...
remote: Counting objects: 83, done.
remote: Total 83 (delta 0), reused 0 (delta 0), pack-reused 83
Unpacking objects: 100% (83/83), done.
Checking connectivity... done.
/tmp % cd scotch-box 
/tmp/scotch-box (git)-[master] % la
total 40K
drwxr-xr-x 4 t t 4.0K 12. Aug 14:10 .
drwxrwxrwt 8 root  root   12K 12. Aug 14:10 ..
drwxr-xr-x 7 t t 4.0K 12. Aug 14:10 .git
-rw-r--r-- 1 t t   18 12. Aug 14:10 .gitignore
-rw-r--r-- 1 t t 7.4K 12. Aug 14:10 README.md
-rw-r--r-- 1 t t  480 12. Aug 14:10 Vagrantfile
drwxr-xr-x 2 t t 4.0K 12. Aug 14:10 public

git克隆
之后总是有一个
.git
目录。也不例外。如果您看不到它,则它是隐藏的(这取决于您的操作系统。
ls
在linux上不显示以点开头的文件/dir。您必须使用
ls-a

.git
目录非常重要,因为它包含git使用的所有文件和信息

下面是您提到的
git克隆后发生的情况:

/tmp % git clone https://github.com/scotch-io/scotch-box.git
Cloning into 'scotch-box'...
remote: Counting objects: 83, done.
remote: Total 83 (delta 0), reused 0 (delta 0), pack-reused 83
Unpacking objects: 100% (83/83), done.
Checking connectivity... done.
/tmp % cd scotch-box 
/tmp/scotch-box (git)-[master] % la
total 40K
drwxr-xr-x 4 t t 4.0K 12. Aug 14:10 .
drwxrwxrwt 8 root  root   12K 12. Aug 14:10 ..
drwxr-xr-x 7 t t 4.0K 12. Aug 14:10 .git
-rw-r--r-- 1 t t   18 12. Aug 14:10 .gitignore
-rw-r--r-- 1 t t 7.4K 12. Aug 14:10 README.md
-rw-r--r-- 1 t t  480 12. Aug 14:10 Vagrantfile
drwxr-xr-x 2 t t 4.0K 12. Aug 14:10 public

在我克隆了您提供的repo之后,我有了一个
.git
目录。所以我能想象的唯一没有.git目录的情况是一个空的存储库。但是,即使您克隆了这个裸repo-git,它也会创建一个.git文件夹。git必须正常工作。LOL可能重复。从未见过没有
.git
目录的git存储库。不可能。可能只是隐藏在你的案例中。在我克隆了你提供的repo之后,我有一个
.git
目录。所以我能想象的唯一没有.git目录的情况是一个空的存储库。但是,即使您克隆了这个裸repo-git,它也会创建一个.git文件夹。git必须正常工作。LOL可能重复。从未见过没有
.git
目录的git存储库。不可能。可能只是藏在你的箱子里。