所以我按照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目录,还是我错过了一个重要的步骤?
答案 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"
上的有效用户。