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. Consultez la section « 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. L’e-mail de confirmation inclut des instructions pour accepter le transfert. Si le nouveau propriétaire n’accepte pas le transfert dans les 24 heures, l’invitation expire.
  • Pour transférer un référentiel, vous devez disposer d’un accès administrateur à celui-ci.
  • Les référentiels sur GitHub.com ne peuvent être transférés qu’à d’autres propriétaires sur GitHub.com.
  • Les référentiels ne peuvent pas être transférés dans une entreprise avec utilisateurs managés à partir de l’extérieur de l’entreprise, ou inversement.
  • 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.
  • Les référentiels internes peuvent uniquement être transférés vers une organisation dans l’entreprise. Vous ne pouvez pas transférer un dépôt interne d’une organisation appartenant à un compte d’entreprise vers une organisation appartenant à un autre compte d’entreprise.

Si vous transférez un dépôt privé vers un compte d’utilisateur ou d’organisation GitHub Free, le dépôt perd l’accès aux fonctionnalités telles que les branches protégées et les GitHub Pages. Pour plus d’informations, consultez « Plans de GitHub ».

Si le référentiel transféré contient une action listée sur GitHub Marketplace, ou a eu plus de 100 clones ou plus de 100 utilisations de GitHub Actions dans la semaine précédant le transfert, GitHub supprime définitivement la combinaison nom du propriétaire et nom du référentiel (OWNER/REPOSITORY-NAME) lorsque vous transférez le référentiel. Si vous essayez de créer un référentiel en utilisant une combinaison de nom de propriétaire et de nom de référentiel supprimés, vous obtiendrez l’erreur suivante : « Le référentiel REPOSITORY_NAME a été retiré et ne peut pas être réutilisé. »

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. Avant de transférer un dépôt qui utilise Git LFS, vérifiez que le compte de réception dispose de suffisamment de packs de données pour stocker les objets Git LFS que vous déplacerez. Pour plus d’informations sur l’ajout de stockage pour les comptes personnels, consultez « Mise à niveau de Git Large File Storage ».

  • 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 commanditaires qui ont accès au dépôt par le biais d’un niveau de parrainage peuvent être affectés. Consultez la section « Gestion de vos niveaux de parrainage ».

  • 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. Consultez « À propos des autorisations pour les packages GitHub ».

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.

Si vous avez publié un site GitHub Pages dans un dépôt privé et ajouté un domaine personnalisé, avant de transférer le dépôt, vous pouvez supprimer ou mettre à jour vos enregistrements DNS afin d’éviter le risque de prise de contrôle du domaine. Consultez la section « Gestion d’un domaine personnalisé pour votre site GitHub Pages. »

  1. Sur GitHub, accédez à la page principale du référentiel.

  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. Les référentiels internes ne peuvent pas être transférés vers un compte personnel. Ils peuvent uniquement être transférés vers une autre organisation. Pour transférer un référentiel interne, remplacez la visibilité du référentiel par « privé » ou « public ». Consultez « Définition de la visibilité du dépôt »

  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. Sur GitHub, accédez à la page principale du référentiel.

  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.