1

所以互联网上有一个人写了大量的代码并将其全部存储在 github 上。有一天,那个家伙刚起来就消失了,删除了他所有的存储库。值得庆幸的是,他的主要项目有很多分叉,但仍然有许多较小的回购没有分叉。然而,我设法使用 Github API 定期拉下那个人的 repos,因此拥有所有上述“小项目”的副本。但是,有一个问题:我拥有的是各个 repo 的 .git 目录的内容。

我不清楚如何利用这些 .git 目录来有效地分叉它们,从而创建它们相应存储库的相当完整的镜像。

有什么指导吗?

-m

4

4 回答 4

9

man git?

只需使用git clone git://domain.tld/path/to/repos.git

于 2009-08-22T01:49:34.147 回答
6

你有没有尝试过:

git clone /path/to/repo.git repo
于 2009-08-22T01:50:36.250 回答
2

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

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

如果你在谈论 _why,有一个人在运行一个名为 whymirror ( http://github.com/whymirror ) 的帐户,他可能会喜欢这些 repos。克隆到 github 的方法是:

  1. 在 github 上创建 repo
  2. 进入您的本地仓库,使用git remote add github git@xxx将 github 地址添加到您的克隆
  3. 用于git push -f github将您的 repo 的精确副本发送到 github。
于 2009-08-22T19:00:26.807 回答
1

要使用的 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(至少根据我的经验)。

如果您没有裸仓库,则可以使用包含.git目录的目录的路径

于 2009-08-25T16:42:24.277 回答