在开始之前,请确保您知道
- 您的 GitHub 用户名
- 外部仓库的克隆 URL,例如
https://external-host.com/user/repo.git
或git://external-host.com/user/repo.git
(可能在external-host.com
域名前面带有user@
)
为了演示目的,我们将使用
- 名为 extuser 的外部帐户
- 名为
https://external-host.com
的外部 Git 主机 - 名为 ghuser 的 GitHub 个人帐户
- GitHub.com 上名为 repo.git 的仓库
-
在 GitHub 上创建一个新仓库。您将把外部 Git 仓库导入到这个新仓库中。
-
在命令行中,使用外部克隆 URL 对外部仓库进行“裸”克隆。这会创建数据的完整副本,但没有用于编辑文件的的工作目录,并确保所有旧数据的干净、新鲜导出。
$ git clone --bare https://external-host.com/EXTUSER/REPO.git # Makes a bare clone of the external repository in a local directory
-
使用“镜像”选项将本地克隆的仓库推送到 GitHub,这将确保所有引用(如分支和标签)都被复制到导入的仓库中。
$ cd REPO.git $ git push --mirror https://github.com/USER/REPO.git # Pushes the mirror to the new repository on GitHub.com
-
删除临时本地仓库。
cd .. rm -rf REPO.git
如果您要导入的仓库包含大文件,您可能会遇到警告或错误。有关大文件以及如何管理它们的更多信息,请参阅“关于 GitHub 上的大文件”。