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.
-
Abra TerminalTerminalGit Bash.
-
Cambia el directorio de trabajo actual a la ubicación donde deseas crear tu nuevo repositorio.
-
Clona el repositorio que contiene la subcarpeta.
$ git clone https://HOSTNAME/USERNAME/REPOSITORY-NAME
-
Cambia el directorio de trabajo actual por tu repositorio clonado.
$ cd REPOSITORY-NAME
-
Para aplicar un filtro que excluya la subcarpeta del resto de archivos del repositorio, instala
git-filter-repo
y ejecutagit filter-repo
con los siguientes argumentos.FOLDER-NAME
: la carpeta dentro del proyecto en la que quiere crear un repositorio independiente.
Sugerencia: Los usuarios de Windows deben utilizar
/
para delimitar carpetas.$ 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
El repositorio debería ahora únicamente contener archivos que estuvieron en tu(s) subcarpeta(s)
-
Cree un repositorio en GitHub AE.
-
En la parte superior del repositorio nuevo en la página Configuración rápida de GitHub AE, haz clic en para copiar la dirección URL del repositorio remoto.
Sugerencia: Para información sobre la diferencia entre las direcciones URL HTTPS y SSH, consulta "Acerca de los repositorios remotos".
-
Agrega un nuevo nombre remoto con la dirección URL que has copiado para el repositorio. Por ejemplo,
origin
oupstream
son dos opciones comunes.git remote add origin https://HOSTNAME/USERNAME/REPOSITORY-NAME.git
-
Verifica que la URL remota se haya agregado con el nombre de tu nuevo repositorio.
$ 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)
-
Sube tus cambios al nuevo repositorio en GitHub AE.
git push -u origin BRANCH-NAME