0

所以我按照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 目录,还是我错过了沿途某个地方的重要一步?

4

2 回答 2

0

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

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

git clone ssh://user@host/path/to/repos/.git
于 2013-08-30T22:58:56.840 回答
0

以下是应该在名为“主机”的服务器上工作的步骤。

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

where/path/dir/是原始目录,/path2/dir2/是目标目录,并且"user"是 server 上的有效用户"host"

于 2013-08-30T22:59:46.163 回答