为什么git clone有时创建.git目录,有时不创建?
前面至少有3个问题解释了如何在没有.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
.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存储库。不可能。可能只是藏在你的箱子里。