所以互联网上有一个人写了大量的代码并将其全部存储在 github 上。有一天,那个家伙刚起来就消失了,删除了他所有的存储库。值得庆幸的是,他的主要项目有很多分叉,但仍然有许多较小的回购没有分叉。然而,我设法使用 Github API 定期拉下那个人的 repos,因此拥有所有上述“小项目”的副本。但是,有一个问题:我拥有的是各个 repo 的 .git 目录的内容。
我不清楚如何利用这些 .git 目录来有效地分叉它们,从而创建它们相应存储库的相当完整的镜像。
有什么指导吗?
-m
man git
?
只需使用git clone git://domain.tld/path/to/repos.git
你有没有尝试过:
git clone /path/to/repo.git repo
如果你只想创建一个镜像,你可以简单cp -R
的 .git 目录。
您“仅”拥有 .git 目录不是问题,因为它包含所有内容。您可以使用 .git 目录的内容签出任何历史点的完整版本。
如果你在谈论 _why,有一个人在运行一个名为 whymirror ( http://github.com/whymirror ) 的帐户,他可能会喜欢这些 repos。克隆到 github 的方法是:
git remote add github git@xxx
将 github 地址添加到您的克隆git push -f github
将您的 repo 的精确副本发送到 github。要使用的 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
目录的目录的路径