Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-07-09. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

使用命令行导入外部 Git 存储库

如果在 Git 存储库中跟踪了源代码,可以在命令行上使用 Git 导入存储库。

在开始之前,请确保您知道:

  • 您的 GitHub Enterprise Server 用户名
  • 外部存储库的克隆 URL,例如 https://external-host.com/user/repo.gitgit://external-host.com/user/repo.git(可能 external-host.com 域名前面是 user@

为便于示范,我们将使用:

  • 外部帐户 extuser
  • 外部 Git 主机 https://external-host.com
  • 名为 ghuser 的 GitHub Enterprise Server 个人帐户
  • 你的 GitHub Enterprise Server 实例 上名为“repo.git”**** 的存储库。
  1. 在 GitHub Enterprise Server 上新建存储库。 您将在此新仓库中导入外部 Git 仓库。

  2. 在命令行上,使用外部克隆 URL 创建外部存储库的“裸”克隆。 这会创建数据的完整副本,但没有编辑文件的工作目录,并确保干净、新鲜地导出所有旧数据。

    $ git clone --bare https://external-host.com/EXTUSER/REPO.git
    # Makes a bare clone of the external repository in a local directory
    
  3. 使用“镜像”选项将本地克隆的仓库推送到 GitHub Enterprise Server,以确保所有引用(如分支和标记)都复制到导入的仓库。

    $ cd REPO.git
    $ git push --mirror https://HOSTNAME/USER/REPO.git
    # Pushes the mirror to the new repository on 你的 GitHub Enterprise Server 实例
    
  4. 删除临时本地仓库。

    cd ..
    rm -rf REPO.git
    

如果要导入的存储库包含大型文件,可能会遇到警告或错误。 要详细了解大型文件及其管理方法,请参阅“关于 GitHub 上的大文件”。