Skip to main content

Transfert d’un dépôt

Vous pouvez transférer des référentiels vers d’autres utilisateurs ou comptes d’organisation.

À propos des transferts de dépôts

Lorsque vous transférez un dépôt vers un nouveau propriétaire, il peut administrer immédiatement le contenu du dépôt, les problèmes, les demandes de tirage, les mises en production, les projects (classic) et les paramètres. Vous pouvez également changer le nom de dépôt lors du transfert d’un dépôt. Pour plus d’informations, consultez « Renommer un référentiel ».

Prérequis pour les transferts de dépôts :

  • Lorsque vous transférez un dépôt dont vous être propriétaire vers un autre compte personnel, le nouveau propriétaire reçoit un e-mail de confirmation.
  • Pour transférer un référentiel, vous devez disposer d’un accès administrateur à celui-ci.
  • Les référentiels ne peuvent être transférés qu’à un propriétaire au sein de la même instance GitHub Enterprise Server. Pour plus d'informations sur le déplacement d’un référentiel de GitHub Enterprise Server à GitHub Enterprise Cloud, consultez « Migration de dépôts de GitHub Enterprise Server vers GitHub Enterprise Cloud ».
  • Pour transférer un dépôt dont vous être propriétaire vers une organisation, vous devez avoir l’autorisation de créer un dépôt dans l’organisation cible.
  • Le compte cible ne doit pas avoir de dépôt portant le même nom, ou une duplication (fork) dans le même réseau.
  • Le propriétaire d’origine du référentiel est ajouté en tant que collaborateur sur le référentiel transféré. Les autres collaborateurs du référentiel transféré ne changent pas.
  • Les fourches de référentiel uniques dépliquées à partir d'un réseau privé en amont ne peuvent pas être transférées.

Qu’est-ce qui est transféré avec un dépôt ?

Lorsque vous transférez un dépôt, ses problèmes, ses demandes de tirage, son wiki, ses étoiles et la liste des personnes qui le surveillent sont également transférés. Si le dépôt transféré contient des webhooks, des services, des secrets ou des clés de déploiement, ils restent associés une fois le transfert terminé. Les informations Git sur les commits, y compris les contributions, sont conservées. De plus :

  • Si le dépôt transféré est une duplication, il reste associé au dépôt en amont.

  • Si le dépôt transféré comporte des duplications, celles-ci restent associées au dépôt une fois le transfert terminé.

  • Si le dépôt transféré utilise Stockage Fichiers volumineux Git, tous les objets Git LFS sont automatiquement déplacés. Ce transfert se produit en arrière-plan. Par conséquent, si vous avez un grand nombre d’objets Git LFS ou si les objets Git LFS sont volumineux, le transfert peut prendre un certain temps.

  • Lorsqu’un dépôt est transféré entre deux comptes personnels, les affectations de problème sont laissées intactes. Lorsque vous transférez un dépôt d’un compte personnel vers une organisation, les problèmes affectés aux membres de l’organisation restent intacts et tous les autres destinataires de problèmes sont effacés. Seuls les propriétaires de l’organisation sont autorisés à créer des affectations de problème. Lorsque vous transférez un dépôt d’une organisation vers un compte personnel, seuls les problèmes affectés au propriétaire du dépôt sont conservés et tous les autres destinataires de problèmes sont effacés.

  • Si le dépôt transféré contient un site GitHub Pages, les liens vers le dépôt Git sur le web et via une activité Git sont redirigés. Toutefois, nous ne redirigeons pas les GitHub Pages associées au dépôt.

  • Tous les liens vers l’emplacement précédent du dépôt sont automatiquement redirigés vers le nouvel emplacement. Lorsque vous utilisez git clone, git fetch ou git push sur un dépôt transféré, ces commandes redirigent vers le nouvel emplacement ou la nouvelle URL du dépôt. Toutefois, pour éviter toute confusion, nous vous recommandons vivement de mettre à jour tous les clones locaux existants de façon à ce qu’ils pointent vers la nouvelle URL du dépôt. Pour ce faire, vous pouvez utiliser git remote sur la ligne de commande :

    git remote set-url origin NEW_URL
    

    Avertissement : si vous créez un référentiel ou une duplication (fork) à l'emplacement précédent du référentiel, les redirections vers le référentiel transféré sont désactivées. Elles peuvent être réactivées en renommant ou en supprimant le nouveau référentiel ou la duplication.

  • Lorsque vous transférez un dépôt d’une organisation vers un compte personnel, les collaborateurs en lecture seule du dépôt ne sont pas transférés. Cela est dû au fait que les collaborateurs ne peuvent pas avoir accès en lecture seule à des dépôts appartenant à un compte personnel. Pour plus d’informations sur les niveaux d’autorisation du dépôt, consultez « Niveaux d’autorisation pour un référentiel de compte personnel » et « Rôles de dépôt pour une organisation ».

  • Les paquets associés au dépôt peuvent être transférés ou perdre leur lien vers le dépôt, en fonction du registre auquel ils appartiennent. Pour plus d’informations, consultez « À propos des autorisations pour les packages GitHub ».

Pour plus d’informations, consultez « Création de dépôt distants ».

Transferts de dépôts et organisations

Pour transférer des dépôts vers une organisation, vous devez disposer d’autorisations de création de dépôt dans l’organisation réceptrice. Si les propriétaires d’organisation ont désactivé la création de dépôts par les membres de l’organisation, seuls les propriétaires d’organisation peuvent transférer des dépôts hors ou dans l’organisation.

Une fois qu’un dépôt a été transféré vers une organisation, les paramètres d’autorisation de dépôt par défaut de l’organisation et les privilèges d’appartenance par défaut s’appliquent au dépôt transféré.

Transfert d’un dépôt appartenant à votre compte personnel

Vous pouvez transférer votre dépôt vers n’importe quel compte personnel qui accepte votre transfert de dépôt. Lorsqu’un dépôt est transféré entre deux comptes personnels, le propriétaire du dépôt d’origine et les collaborateurs sont automatiquement ajoutés en tant que collaborateurs au nouveau dépôt.

  1. Dans votre instance GitHub Enterprise Server, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. En bas de la page, dans la section « Zone de danger », cliquez sur Transférer.

  4. Lisez les informations relatives au transfert d'un référentiel, puis, sous « Nouveau propriétaire », choisissez la manière de spécifier le nouveau propriétaire.

    • Pour choisir l'une de vos organisations, sélectionnez Sélectionner l’une de mes organisations.

      • Sélectionnez le menu déroulant, puis cliquez sur une organisation.

      • Si vous le souhaitez, dans le champ « Nom du référentiel », tapez un nouveau nom pour le référentiel.

        Remarque : vous devez être propriétaire de l’organisation cible pour renommer le référentiel.

    • Pour spécifier une organisation ou un nom d’utilisateur, sélectionnez Spécifier une organisation ou un nom d’utilisateur, puis tapez le nom de l’organisation ou le nom d’utilisateur du nouveau propriétaire.

  5. Lisez les avertissements concernant la perte potentielle de fonctionnalités en fonction de l’abonnement GitHub du nouveau propriétaire.

  6. Quand vous voyez Taper le NOM DU RÉFÉRENTIEL pour confirmer, tapez le nom du référentiel que vous souhaitez transférer, puis cliquez sur Je comprends, transférer ce référentiel.

Transfert d’un dépôt appartenant à votre organisation

Si vous disposez d’autorisations de propriétaire dans une organisation ou d’autorisations d’administrateur sur l’un de ses dépôts, vous pouvez transférer un dépôt appartenant à votre organisation vers votre compte personnel ou vers une autre organisation.

  1. Connectez-vous à votre compte personnel disposant d’autorisations d’administrateur ou de propriétaire dans l’organisation propriétaire du dépôt.

  2. Dans votre instance GitHub Enterprise Server, accédez à la page principale du dépôt.

  3. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  4. En bas de la page, dans la section « Zone de danger », cliquez sur Transférer.

  5. Lisez les informations relatives au transfert d'un référentiel, puis, sous « Nouveau propriétaire », choisissez la manière de spécifier le nouveau propriétaire.

    • Pour choisir l'une de vos organisations, sélectionnez Sélectionner l’une de mes organisations.

      • Sélectionnez le menu déroulant, puis cliquez sur une organisation.

      • Si vous le souhaitez, dans le champ « Nom du référentiel », tapez un nouveau nom pour le référentiel.

        Remarque : vous devez être propriétaire de l’organisation cible pour renommer le référentiel.

    • Pour spécifier une organisation ou un nom d’utilisateur, sélectionnez Spécifier une organisation ou un nom d’utilisateur, puis tapez le nom de l’organisation ou le nom d’utilisateur du nouveau propriétaire.

  6. Lisez les avertissements concernant la perte potentielle de fonctionnalités en fonction de l’abonnement GitHub du nouveau propriétaire.

  7. Quand vous voyez Taper le NOM DU RÉFÉRENTIEL pour confirmer, tapez le nom du référentiel que vous souhaitez transférer, puis cliquez sur Je comprends, transférer ce référentiel.