Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

Cette version de GitHub Enterprise a été abandonnée le 2023-03-15. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Importation à partir d’autres systèmes de gestion de versions avec l’interpréteur de commandes d’administration

À l’aide de l’interpréteur de commandes d’administration, vous pouvez importer à partir de Subversion, Mercurial et Team Foundation Version Control dans des dépôts Git sur GitHub Enterprise Server.

Qui peut utiliser cette fonctionnalité

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

Importation de projets à partir de Mercurial

  1. Connexion SSH à votre instance GitHub Enterprise Server. Si votre instance comprend plusieurs nœuds, par exemple si la haute disponibilité ou la géoréplication sont configurées, connectez-vous via SSH au nœud principal. Si vous utilisez un cluster, vous pouvez vous connecter via SSH à n’importe quel nœud. Pour plus d’informations sur l’accès SSH, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».

    $ ssh -p 122 admin@HOSTNAME
  2. Créez un clone brut du projet à l’aide de la commande ci-dessous, en spécifiant l’URL du projet source et un chemin d’accès à un référentiel temporaire :

    $ 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. Passez en revue le fichier CSV (séparé par des virgules) dans /PATH/REPO-NAME.git/git-import/raw-authors.csv. Il doit contenir ces colonnes :

    • ID : l’auteur tel qu’il est stocké dans le référentiel d’origine, suivi d’un identificateur unique
    • NAME : l’auteur tel qu’il est stocké dans le référentiel d’origine

    Pour mapper les auteurs du référentiel d’origine à une adresse e-mail et un nom, créez un fichier CSV avec les colonnes ID,(ignored),GIT_EMAIL,GIT_NAME, qui remplace les informations de l’auteur pour tout ce qui contient « ID » par « GIT_EMAIL » et « GIT_NAME ».

    Exemple :

    • ID d’auteur d’origine : octocat@111111-2222-3333-4444-55555555555

    • Nouvelle adresse e-mail : octocat@github.com

    • Nouveau nom : The Octocat

      Pour mapper l’auteur d’origine au nouvel utilisateur Git, le fichier CSV doit inclure la ligne :

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Réécrivez les auteurs et les branches à l’aide du fichier CSV :

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Si vous ne l’avez pas encore fait, créez un référentiel vide sur GitHub Enterprise Server.

  6. Remplacez le répertoire de travail actuel par votre dépôt local.

  7. Envoyez le référentiel importé vers GitHub Enterprise Server :

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

Importation de projets à partir de Subversion

  1. Connexion SSH à votre instance GitHub Enterprise Server. Si votre instance comprend plusieurs nœuds, par exemple si la haute disponibilité ou la géoréplication sont configurées, connectez-vous via SSH au nœud principal. Si vous utilisez un cluster, vous pouvez vous connecter via SSH à n’importe quel nœud. Pour plus d’informations sur l’accès SSH, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».

    $ ssh -p 122 admin@HOSTNAME
  2. Créez un clone brut du projet à l’aide de la commande ci-dessous, en spécifiant l’URL du projet source et un chemin d’accès à un référentiel temporaire :

    $ 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. Passez en revue le fichier CSV (séparé par des virgules) dans /PATH/REPO-NAME.git/git-import/raw-authors.csv. Il doit contenir ces colonnes :

    • ID : l’auteur tel qu’il est stocké dans le référentiel d’origine, suivi d’un identificateur unique
    • NAME : l’auteur tel qu’il est stocké dans le référentiel d’origine

    Pour mapper les auteurs du référentiel d’origine à une adresse e-mail et un nom, créez un fichier CSV avec les colonnes ID,(ignored),GIT_EMAIL,GIT_NAME, qui remplace les informations de l’auteur pour tout ce qui contient « ID » par « GIT_EMAIL » et « GIT_NAME ».

    Exemple :

    • ID d’auteur d’origine : octocat@111111-2222-3333-4444-55555555555

    • Nouvelle adresse e-mail : octocat@github.com

    • Nouveau nom : The Octocat

      Pour mapper l’auteur d’origine au nouvel utilisateur Git, le fichier CSV doit inclure la ligne :

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Réécrivez les auteurs et les branches à l’aide du fichier CSV :

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Si vous ne l’avez pas encore fait, créez un référentiel vide sur GitHub Enterprise Server.

  6. Remplacez le répertoire de travail actuel par votre dépôt local.

  7. Envoyez le référentiel importé vers GitHub Enterprise Server :

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

Importation de projets à partir de Team Foundation Version Control

  1. Connexion SSH à votre instance GitHub Enterprise Server. Si votre instance comprend plusieurs nœuds, par exemple si la haute disponibilité ou la géoréplication sont configurées, connectez-vous via SSH au nœud principal. Si vous utilisez un cluster, vous pouvez vous connecter via SSH à n’importe quel nœud. Pour plus d’informations sur l’accès SSH, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».

    $ ssh -p 122 admin@HOSTNAME
  2. Créez un clone brut du projet à l’aide de la commande ci-dessous, en spécifiant l’URL du projet source et un chemin d’accès à un référentiel temporaire :

    $ 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. Passez en revue le fichier CSV (séparé par des virgules) dans /PATH/REPO-NAME.git/git-import/raw-authors.csv. Il doit contenir ces colonnes :

    • ID : l’auteur tel qu’il est stocké dans le référentiel d’origine, suivi d’un identificateur unique
    • NAME : l’auteur tel qu’il est stocké dans le référentiel d’origine

    Pour mapper les auteurs du référentiel d’origine à une adresse e-mail et un nom, créez un fichier CSV avec les colonnes ID,(ignored),GIT_EMAIL,GIT_NAME, qui remplace les informations de l’auteur pour tout ce qui contient « ID » par « GIT_EMAIL » et « GIT_NAME ».

    Exemple :

    • ID d’auteur d’origine : octocat@111111-2222-3333-4444-55555555555

    • Nouvelle adresse e-mail : octocat@github.com

    • Nouveau nom : The Octocat

      Pour mapper l’auteur d’origine au nouvel utilisateur Git, le fichier CSV doit inclure la ligne :

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Réécrivez les auteurs et les branches à l’aide du fichier CSV :

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO_NAME.git
  5. Si vous ne l’avez pas encore fait, créez un référentiel vide sur GitHub Enterprise Server.

  6. Remplacez le répertoire de travail actuel par votre dépôt local.

  7. Envoyez le référentiel importé vers GitHub Enterprise Server :

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

Pour aller plus loin