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