Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

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

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

参考資料