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

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

使用工具的 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) 的文件。 它应包含以下三列:

    • ID:存储在原始仓库中的作者,后接唯一识别符。
    • NAME:存储在原始仓库中的作者

    要将作者从原始仓库映射到电子邮件地址和名称,请使用 ID,(ignored),GIT_EMAIL,GIT_NAME 列新建一个 CSV 文件,将用 "ID" 表示的任何作者信息替换为 "GIT_EMAIL" 和 "GIT_NAME"。

    示例:

  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) 的文件。 它应包含以下三列:

    • ID:存储在原始仓库中的作者,后接唯一识别符。
    • NAME:存储在原始仓库中的作者

    要将作者从原始仓库映射到电子邮件地址和名称,请使用 ID,(ignored),GIT_EMAIL,GIT_NAME 列新建一个 CSV 文件,将用 "ID" 表示的任何作者信息替换为 "GIT_EMAIL" 和 "GIT_NAME"。

    示例:

  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) 的文件。 它应包含以下三列:

    • ID:存储在原始仓库中的作者,后接唯一识别符。
    • NAME:存储在原始仓库中的作者

    要将作者从原始仓库映射到电子邮件地址和名称,请使用 ID,(ignored),GIT_EMAIL,GIT_NAME 列新建一个 CSV 文件,将用 "ID" 表示的任何作者信息替换为 "GIT_EMAIL" 和 "GIT_NAME"。

    示例:

  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

延伸阅读

问问别人

找不到要找的内容?

联系我们