".git"在git URL中的含义是什么?

gma*_*man 11 git

我在foo中设置了一个git repo

cd
mkdir foo
cd foo
git init
Run Code Online (Sandbox Code Playgroud)

现在我想远程引用它

git clone git+ssh://me@somemachine/home/me/foo.git

fatal: git remote error '/home/me/foo.git' does not appear to be a git repository
Run Code Online (Sandbox Code Playgroud)

所以我把.git关闭然后就可以了.但是我看到的几乎所有例子最后都有".git".那".git"是什么意思?

另外,ssh:// ...和git + ssh:// ...之间的区别是什么(在意义和实际意义上)

Rob*_*ani 11

那".git"是什么意思?

.git在git存储库文件夹的末尾只是一个命名约定,通常意味着该文件夹是服务器而不是客户端.我认为它是由存储库裸露或不存在确定的(裸存储库没有工作目录).克隆URL只指向一个文件夹,如果实际文件夹末尾有.git,则添加它.否则,不要.

另外,ssh:// ...和git + ssh:// ...之间的区别是什么(在意义和实际意义上)

实际上它们几乎是一样的.在意义上,他们使用不同的协议连接到服务器.ssh://打开与特定用户的服务器的SSH连接,并在服务器上运行git命令(通常服务器将通过将用户的shell设置为来限制命令/usr/bin/git-shell).git+ssh://表示服务器在git daemon本地运行,客户端需要首先打开SSH连接以与守护程序进行交互.


Dav*_*d Z 6

这是一种常见的(但肯定不是通用的)约定,即在名称以...结尾的目录中创建裸git存储库.git.这就是您通常.git在存储库URL末尾看到的原因.

我不确定这个git+ssh方案 - 实际上我在git手册页中找不到它的引用.根据Eclipse论坛,该协议已被删除,有利于普通的旧版本ssh.(Eclipse论坛当然不是关于git的官方信息来源,但这是有道理的.我从来不知道应该是什么区别.)