代码之家  ›  专栏  ›  技术社区  ›  fogus

如何在仅给定.git目录的情况下分叉Git项目?

  •  1
  • fogus  · 技术社区  · 15 年前

    所以有一个在互联网上写了很多代码并把它们全部存储在Github上的人。“有一天,”那个家伙说,然后消失了,删除了他所有的存储库。谢天谢地,他的主要项目有很多分支,但仍然有许多较小的回购协议没有分支。但是,我设法使用GithubAPI定期下拉所述Guy的回购协议,因此拥有上述所有“小项目”的副本。但是,有一个问题:我拥有的是各个repo的.git目录的内容。

    我不清楚如何利用这些.git dirs来有效地分配它们,从而为它们相应的回购创建相当完整的镜像。

    有什么指导吗?

    -m

    4 回复  |  直到 15 年前
        1
  •  6
  •   gahooa    15 年前

    你试过了吗?

    git clone /path/to/repo.git repo
    
        2
  •  9
  •   p4bl0    15 年前

    man git ?

    简单使用 git clone git://domain.tld/path/to/repos.git

        3
  •  2
  •   andy SKK    15 年前

    如果你只想创建一个镜像,你可以简单地 cp -R .git目录。

    只有.git目录不是问题,因为它包含所有内容。您可以使用.git目录的内容签出历史记录中任何点的完整版本。

    如果你说的是“为什么”,有个人在开一个叫“whymirror”的账户( http://github.com/whymirror )谁可能会喜欢这些回购。在Github上获得克隆的方法是:

    1. 在Github上创建回购
    2. 进入本地回购,使用 git remote add github git@xxx 将github地址添加到克隆
    3. 使用 git push -f github 向Github发送回购协议的准确副本。
        4
  •  1
  •   davetron5000    15 年前

    要使用的URL取决于您是否有空回购。转到回购的目录,然后 ls . 如果你看到:

    HEAD        branches/   description index       logs/       packed-refs svn/
    ORIG_HEAD   config      hooks/      info/       objects/    refs/
    

    你有空回购。如果,相反,你只是看到 .git 目录,你没有。

    如果你有一个空的回购,网址 file://path/to/repo 将寻找 /path/to/repo.git (至少根据我的经验)。

    如果没有空回购,可以使用dir的路径 包含 这个 Git 目录