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.

Fractionnement d’un sous-dossier en un nouveau dépôt

Vous pouvez convertir un dossier d’un dépôt Git en tout nouveau dépôt.

Si vous créez un clone du dépôt, vous ne perdez pas vos modifications ni historique Git quand vous fractionnez un dossier en un dépôt distinct.

  1. Ouvrez TerminalTerminalGit Bash.

  2. Remplacez le répertoire de travail actuel par l’emplacement où vous souhaitez créer votre dépôt.

  3. Clonez le dépôt qui contient le sous-dossier.

    $ git clone https://github.com/USERNAME/REPOSITORY-NAME
  4. Remplacez le répertoire de travail actuel par votre dépôt cloné.

    $ cd REPOSITORY-NAME
  5. Pour filtrer le sous-dossier par rapport au reste des fichiers du référentiel, installez git-filter-repo, puis exécutez git filter-repo avec les arguments suivants.

    • FOLDER-NAME : dossier dans votre projet dans lequel vous souhaitez créer un dépôt distinct.

    Conseil : Les utilisateurs Windows doivent utiliser / pour délimiter les dossiers.

    $ git filter-repo --path FOLDER-NAME/
    # Filter the specified branch in your directory and remove empty commits
    > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89)
    > Ref 'refs/heads/BRANCH-NAME' was rewritten

    Le dépôt ne doit maintenant contenir que les fichiers qui se trouvaient dans vos sous-dossiers.

  6. Créez un dépôt sur GitHub.

  7. En haut de votre nouveau référentiel dans la page Configuration rapide de l’instance de GitHub.com, cliquez sur pour copier l’URL du référentiel distant.

    Champ Copier l’URL du dépôt distant

    Conseil : Pour plus d’informations sur la différence entre les URL HTTPS et SSH, consultez « À propos des référentiels distants ».

  8. Vérifiez le nom de dépôt distant existant pour votre dépôt. Par exemple, origin ou upstream sont deux choix courants.

    $ git remote -v
    > origin  https://github.com/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://github.com/USERNAME/REPOSITORY-NAME.git (push)
  9. Configurez une nouvelle URL distante pour votre nouveau dépôt à l’aide du nom de dépôt distant existant et de l’URL de dépôt distant que vous avez copiée à l’étape 7.

    git remote set-url origin https://github.com/USERNAME/NEW-REPOSITORY-NAME.git
  10. Vérifiez que l’URL distante a changé avec le nom de votre nouveau dépôt.

    $ git remote -v
    # Verify new remote URL
    > origin  https://github.com/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
    > origin  https://github.com/USERNAME/NEW-REPOSITORY-NAME.git (push)
  11. Poussez vos modifications vers le nouveau dépôt sur GitHub.

    git push -u origin BRANCH-NAME