文章版本: Enterprise Server 2.17
从第三方版本控制系统导入数据
使用工具的 git-import 套件,您可以将数据从 Subversion、Mercurial 和 Team Foundation Version Control 导入 GitHub Enterprise Server 上的 Git 仓库。
从 Mercurial 导入项目
-
SSH 连接到 您的 GitHub Enterprise Server 实例。
$ ssh -p 122 admin@HOSTNAME
-
使用以下命令对项目进行原始克隆,并指定源项目的 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.
-
在
/PATH/REPO-NAME.git/git-import/raw-authors.csv
中检查逗号分隔 (CSV) 的文件。 它应包含以下三列:ID
:存储在原始仓库中的作者,后接唯一识别符。NAME
:存储在原始仓库中的作者
要将作者从原始仓库映射到电子邮件地址和名称,请使用
ID,(ignored),GIT_EMAIL,GIT_NAME
列新建一个 CSV 文件,将用 "ID" 表示的任何作者信息替换为 "GIT_EMAIL" 和 "GIT_NAME"。示例:
-
原始作者 ID:
octocat@111111-2222-3333-4444-55555555555
-
新电子邮件地址:
octocat@github.com
-
新名称:
The Octocat
要将原始作者映射到新 Git 用户,CSV 文件应包含行:
octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat
-
使用 CSV 文件重写作者和分支:
$ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
-
如果您还没有创建,请在 GitHub Enterprise Server 上创建新的空仓库。
-
将当前工作目录更改为您的本地仓库。
-
将导入的仓库推送到 GitHub Enterprise Server:
$ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
从 Subversion 导入项目
-
SSH 连接到 您的 GitHub Enterprise Server 实例。
$ ssh -p 122 admin@HOSTNAME
-
使用以下命令对项目进行原始克隆,并指定源项目的 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.
-
在
/PATH/REPO-NAME.git/git-import/raw-authors.csv
中检查逗号分隔 (CSV) 的文件。 它应包含以下三列:ID
:存储在原始仓库中的作者,后接唯一识别符。NAME
:存储在原始仓库中的作者
要将作者从原始仓库映射到电子邮件地址和名称,请使用
ID,(ignored),GIT_EMAIL,GIT_NAME
列新建一个 CSV 文件,将用 "ID" 表示的任何作者信息替换为 "GIT_EMAIL" 和 "GIT_NAME"。示例:
-
原始作者 ID:
octocat@111111-2222-3333-4444-55555555555
-
新电子邮件地址:
octocat@github.com
-
新名称:
The Octocat
要将原始作者映射到新 Git 用户,CSV 文件应包含行:
octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat
-
使用 CSV 文件重写作者和分支:
$ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
-
如果您还没有创建,请在 GitHub Enterprise Server 上创建新的空仓库。
-
将当前工作目录更改为您的本地仓库。
-
将导入的仓库推送到 GitHub Enterprise Server:
$ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
从 Team Foundation Version Control 导入项目
-
SSH 连接到 您的 GitHub Enterprise Server 实例。
$ ssh -p 122 admin@HOSTNAME
-
使用以下命令对项目进行原始克隆,并指定源项目的 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.
-
在
/PATH/REPO-NAME.git/git-import/raw-authors.csv
中检查逗号分隔 (CSV) 的文件。 它应包含以下三列:ID
:存储在原始仓库中的作者,后接唯一识别符。NAME
:存储在原始仓库中的作者
要将作者从原始仓库映射到电子邮件地址和名称,请使用
ID,(ignored),GIT_EMAIL,GIT_NAME
列新建一个 CSV 文件,将用 "ID" 表示的任何作者信息替换为 "GIT_EMAIL" 和 "GIT_NAME"。示例:
-
原始作者 ID:
octocat@111111-2222-3333-4444-55555555555
-
新电子邮件地址:
octocat@github.com
-
新名称:
The Octocat
要将原始作者映射到新 Git 用户,CSV 文件应包含行:
octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat
-
使用 CSV 文件重写作者和分支:
$ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
-
如果您还没有创建,请在 GitHub Enterprise Server 上创建新的空仓库。
-
将当前工作目录更改为您的本地仓库。
-
将导入的仓库推送到 GitHub Enterprise Server:
$ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE
延伸阅读
- "命令行实用程序"