什么文件用于git clone

时间:2013-08-30 22:34:43

标签: git clone init

所以我按照http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository的说明创建了一个存储库并连接到它。这是我做的:

git init repos
vim test.txt
git add test.txt
git commit -m "Just testing"

到目前为止一切顺利。现在我需要从另一个系统连接到新的存储库。我读到的所有文档都说我应该可以使用像

这样的命令来做到这一点
git clone ssh://user@host/path/dir/somefile.git

看起来很简单,但是当我查看我刚刚创建的存储库并搜索目录时,没有 somefile.git 。有一个.git目录,但我不认为这是他们所指的。我找不到任何描述该文件应该在何处或如何创建的文档。但我知道我用来创建存储库的命令(它似乎在服务器上运行得很好)并没有创建任何这样的文件。我真的应该把它指向.git目录,还是我错过了一个重要的步骤?

2 个答案:

答案 0 :(得分:0)

通常,如果存储库的名称类似于somefile.git(而不是目录.git中的somefile),那么它就是一个裸存储库,它是一个可以&#39的存储库; t有一个工作目录(即它只有Git元数据和描述repo内容的对象blob - 实际内容不存在于普通文件中)。它们主要用于远程存储存储库,例如,通过GitHub或像gitolite和gitosis的工具;要自己创建一个,您可以将--bare选项传递给git init

由于存储库的原始副本确实具有工作目录,因此与git clone命令一起使用的存储库是其.git子目录。因此:

git clone ssh://user@host/path/to/repos/.git

答案 1 :(得分:0)

以下是应该在名为“host”的服务器上运行的步骤。

cd /path/dir/
git init repos
cd repos
vim test.txt
git add test.txt
git commit -m "Just testing"

在另一个系统上:

cd /path2/dir2/
git clone ssh://user@host/path/dir/repos

其中/path/dir/是原始目录,/path2/dir2/是目标目录,"user"是服务器"host"上的有效用户。