Skip to main content

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://HOSTNAME/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-NAME1/ --path FOLDER-NAME2/
    # 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 Enterprise Server.

  7. En haut de votre nouveau référentiel dans la page Configuration rapide de l’instance de your GitHub Enterprise Server instance, 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 dépôts 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://HOSTNAME/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://HOSTNAME/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://HOSTNAME/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://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
    > origin  https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git (push)
  11. Poussez vos modifications vers le nouveau dépôt sur GitHub Enterprise Server.

    git push -u origin BRANCH-NAME