Skip to main content

Enterprise Server 3.20 目前作为发布候选版本提供。

借助管理 shell 从其他版本控制系统导入

使用管理 shell,可以从 Subversion、Mercurial 和 Team Foundation 版本控制导入到 GitHub Enterprise Server 上的 Git 仓库。

谁可以使用此功能?

Site administrators can use the administrative shell to import data from other version control systems.

从 Mercurial 导入项目

  1. 通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。

    Shell
    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.
    

请审核导入的CSV文件。

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

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

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

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

从 Subversion 导入项目

  1. 通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。

    Shell
    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.
    

请审核导入的CSV文件。

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

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

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

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

从 Team Foundation Version Control 导入项目

  1. 通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。

    Shell
    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.
    

请审核导入的CSV文件。

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

    git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO_NAME.git
    
  2. 如果你还没有,请在 GitHub Enterprise Server 上创建一个新的空存储库

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

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

其他阅读材料

  •         [AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#import-and-export)