我总是使用以下网址克隆我的存储库:
https://github.com/joaquinlpereyra/twitterImgBot.git
但是我发现你也可以通过将clone指向.git文件夹来克隆repos,如下所示:
$ git clone http://examplerepo.com/.git/
但这对github不起作用,但我从经验中知道,这可以在至少一个HTTP非Github git存储库上运行,同时尝试执行以下操作:
$ git clone http.//examplerepo.com
根本不起作用。
任何人都有关于此.git vs /.git差异的信息?我已经尝试过搜索但是我没有看到克隆/.git文件夹的任何地方,除了git reference的最后一个例子,它给出了以下示例:
$ git clone --bare -l /home/proj/.git /pub/scm/proj.git
但没有关于它为什么直接克隆.git文件夹而不是/ home / proj的信息被遗漏了。
我很感激任何信息或指示!谢谢。
答案 0 :(得分:2)
Git支持一些不同的协议。使用哪一个取决于几个因素,例如git是否在远程端运行(智能与哑术),或者是否可以列出目录内容(例如本地文件或FTP或WebDAV与HTTP一般情况下)
如果您只是使用普通的HTTP服务器,那么只要运行git-update-server-info来帮助它,git就可以使用愚蠢的HTTP传输从中获取(参见gitrepository-layout)。您必须在网址路径中明确包含/.git/
。
GitHub当然正在使用智能HTTP传输,这与最后的.git/
无关是可选的。 (GitHub doesn't support dumb http transport。)
智能HTTP协议可以动态计算包文件,也可以推送到。请参阅http-protocol。
对于克隆本地路径,结尾的/.git/
是可选的,因为git可以遍历本地文件系统来查找它。
答案 1 :(得分:0)
克隆对象没有差异
两个URL都克隆相同的内容
只有.git / config中的[remote“origin”]部分设置为不同,但这是正常的:
onCreate
VS
onViewCreated
在没有.git
的情况下克隆它[remote "origin"]
url = ssh://localhost:29418/test/.git/
这三个人都在做同样的事情