我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: Enterprise Server 2.14

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-07-12. 即使出现严重安全问题,也不会发布补丁。要获得更好的性能、更高的安全性和全新功能,请升级到 GitHub Enterprise 的最新版本。 要获取有关升级的帮助,请联系 GitHub Enterprise 支持部门

从第三方版本控制系统导入数据

使用工具的 git-import 套件,您可以将数据从 Subversion、Mercurial 和 Team Foundation Version Control 导入 GitHub Enterprise Server 上的 Git 仓库。

本文内容

从 Mercurial 导入项目

  1. SSH 到 您的 GitHub Enterprise Server 实例。

    $ ssh -p 122 admin@HOSTNAME
  2. 使用以下命令对项目进行原始克隆,并指定源项目的 URL 和临时仓库的路径:

    $ git-import-hg-raw HG-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. 审查 /PATH/REPO-NAME.git/git-import/raw-authors.csv 中的逗号分隔 (CSV) 文件。它应包含以下列:

要将作者从原始仓库映射到电子邮件地址和名称,请创建一个新 CSV 文件,其中包含列 ID,(忽略),GIT_EMAIL,GIT_NAME,它用 "ID" 与 "GIT_EMAIL" 和 "GIT_NAME" 代替任何作者信息。

示例:

要将原始作者映射到新 Git 用户,CSV 文件应包括以下行:

octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  1. 使用 CSV 文件重写作者和分支:

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  2. 如果您还没有创建,请在 GitHub Enterprise Server 上创建新的空仓库

  3. 将当前工作目录更改为您的本地仓库。

  4. 将导入的仓库推送到 GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

从 Subversion 导入项目

  1. SSH 到 您的 GitHub Enterprise Server 实例。

    $ ssh -p 122 admin@HOSTNAME
  2. 使用以下命令对项目进行原始克隆,并指定源项目的 URL 和临时仓库的路径:

    $ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. 审查 /PATH/REPO-NAME.git/git-import/raw-authors.csv 中的逗号分隔 (CSV) 文件。它应包含以下列:

要将作者从原始仓库映射到电子邮件地址和名称,请创建一个新 CSV 文件,其中包含列 ID,(忽略),GIT_EMAIL,GIT_NAME,它用 "ID" 与 "GIT_EMAIL" 和 "GIT_NAME" 代替任何作者信息。

示例:

要将原始作者映射到新 Git 用户,CSV 文件应包括以下行:

octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  1. 使用 CSV 文件重写作者和分支:

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  2. 如果您还没有创建,请在 GitHub Enterprise Server 上创建新的空仓库

  3. 将当前工作目录更改为您的本地仓库。

  4. 将导入的仓库推送到 GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

从 Team Foundation Version Control 导入项目

  1. SSH 到 您的 GitHub Enterprise Server 实例。

    $ ssh -p 122 admin@HOSTNAME
  2. 使用以下命令对项目进行原始克隆,并指定源项目的 URL 和临时仓库的路径:

    $ git-import-tfs-raw TEAM-FOUNDATION-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. 审查 /PATH/REPO-NAME.git/git-import/raw-authors.csv 中的逗号分隔 (CSV) 文件。它应包含以下列:

要将作者从原始仓库映射到电子邮件地址和名称,请创建一个新 CSV 文件,其中包含列 ID,(忽略),GIT_EMAIL,GIT_NAME,它用 "ID" 与 "GIT_EMAIL" 和 "GIT_NAME" 代替任何作者信息。

示例:

要将原始作者映射到新 Git 用户,CSV 文件应包括以下行:

octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  1. 使用 CSV 文件重写作者和分支:

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  2. 如果您还没有创建,请在 GitHub Enterprise Server 上创建新的空仓库

  3. 将当前工作目录更改为您的本地仓库。

  4. 将导入的仓库推送到 GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

延伸阅读

问问别人

找不到要找的内容?

联系我们