Dividir una subcarpeta en un nuevo repositorio

Puedes convertir una carpeta dentro de un repositorio de Git en un nuevo repositorio.

Si creas un nuevo clon del repositorio, no perderás ninguno de tus historiales o cambios de Git cuando divides una carpeta en un repositorio separado.

  1. Abre la TerminalTerminalGit Bash.

  2. Cambia el directorio de trabajo actual a la ubicación donde deseas crear tu nuevo repositorio.

  3. Clona el repositorio que contiene la subcarpeta.

    $ git clone https://nombre de host/USERNAME/REPOSITORY-NAME
  4. Cambia el directorio de trabajo actual por tu repositorio clonado.

    $ cd REPOSITORY-NAME
  5. Para filtrar la subcarpeta desde el resto de los archivos en el repositorio, ejecuta git filter-repo, proporcionando esta información:

    • FOLDER-NAME: la carpeta dentro de tu proyecto en donde desearías crear un repositorio separado.

      <div class="extended-markdown tip border rounded-1 mb-4 p-3 color-border-accent-emphasis color-bg-accent f5">
      
      **Sugerencia:** los usuarios de Windows deberían utilizar `/` para delimitar carpetas.
      
      </div>
      
      $ 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

      El repositorio debería ahora únicamente contener archivos que estuvieron en tu(s) subcarpeta(s)

  6. Crea un nuevo repositorio en GitHub AE.

  7. At the top of your new repository on GitHub AE's Quick Setup page, click to copy the remote repository URL. Copiar el campo de URL de repositorio remoto

    Tip: Para obtener más información sobre la diferencia entre las URL de HTTPS y SSH, consulta la sección "Acerca de los repositorios remotos".

  8. Verifica el nombre remoto existente para tu repositorio. Por ejemplo, origin o upstream son dos de las opciones comunes.

    $ git remote -v
    > origin  https://nombre de host/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://nombre de host/USERNAME/REPOSITORY-NAME.git (push)
  9. Configura una URL remota nueva para tu nuevo repositorio utilizando el nombre remoto existente y la URL del repositorio remoto que copiaste en el paso 7.

    git remote set-url origin https://nombre de host/USERNAME/NEW-REPOSITORY-NAME.git
  10. Verifica que la URL remota haya cambiado con el nombre de tu nuevo repositorio.

    $ git remote -v
    # Verify new remote URL
    > origin  https://nombre de host/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
    > origin  https://nombre de host/USERNAME/NEW-REPOSITORY-NAME.git (push)
  11. Sube tus cambios al nuevo repositorio en GitHub AE.

    git push -u origin BRANCH-NAME

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.