Skip to main content

サードパーティのバージョン コントロール システムからのデータのインポート

git-import スイートのツールを使用すると、Subversion、Mercurial、Team Foundation Version Control から GitHub Enterprise Server 上の Git リポジトリにインポートできます。

Mercurialからのプロジェクトのインポート

  1. your GitHub Enterprise Server instance に SSH でアクセスします。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 SSH 接続について詳しくは、「管理シェル (SSH) にアクセスする」をご覧ください。

    $ 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" に置き換えられます。

    例:

    • 元の作成者 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

  4. CSV ファイルを使って作者とブランチを書き直します:

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. GitHub Enterprise Server に新しい空のリポジトリを作成します (まだ作成していない場合)。

  6. ワーキングディレクトリをローカルのリポジトリに変更します。

  7. インポートされたリポジトリを GitHub Enterprise Server にプッシュします。

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

SubVersionからのプロジェクトのインポート

  1. your GitHub Enterprise Server instance に SSH でアクセスします。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 SSH 接続について詳しくは、「管理シェル (SSH) にアクセスする」をご覧ください。

    $ 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" に置き換えられます。

    例:

    • 元の作成者 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

  4. CSV ファイルを使って作者とブランチを書き直します:

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. GitHub Enterprise Server に新しい空のリポジトリを作成します (まだ作成していない場合)。

  6. ワーキングディレクトリをローカルのリポジトリに変更します。

  7. インポートされたリポジトリを GitHub Enterprise Server にプッシュします。

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

Team Foundation Version Controlからのプロジェクトのインポート

  1. your GitHub Enterprise Server instance に SSH でアクセスします。 インスタンスが複数のノードで構成されている場合は (高可用性や geo レプリケーションが構成されている場合など)、プライマリ ノードに SSH 接続します。 クラスターを使用する場合は、任意のノードに SSH 接続できます。 SSH 接続について詳しくは、「管理シェル (SSH) にアクセスする」をご覧ください。

    $ 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" に置き換えられます。

    例:

    • 元の作成者 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

  4. CSV ファイルを使って作者とブランチを書き直します:

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. GitHub Enterprise Server に新しい空のリポジトリを作成します (まだ作成していない場合)。

  6. ワーキングディレクトリをローカルのリポジトリに変更します。

  7. インポートされたリポジトリを GitHub Enterprise Server にプッシュします。

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

参考資料