【问题标题】:What file to use for git clonegit clone 使用什么文件
【发布时间】:2013-09-03 17:51:59
【问题描述】:

所以我按照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 目录,还是我错过了某个重要步骤?

【问题讨论】:

    标签: git clone init


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      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" 上的有效用户。

      【讨论】:

        猜你喜欢
        • 2014-07-03
        • 1970-01-01
        • 1970-01-01
        • 2014-01-05
        • 1970-01-01
        • 1970-01-01
        • 2011-07-19
        • 1970-01-01
        • 2019-08-16
        相关资源
        最近更新 更多