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.
-
Abre el terminal 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://nombre de host/USERNAME/REPOSITORY-NAME
-
Cambia el directorio de trabajo actual por tu repositorio clonado.
$ cd REPOSITORY-NAME
-
Para filtrar la subcarpeta desde el resto de los archivos en el repositorio, ejecuta
git filter-branch
, proporcionando esta información:-
FOLDER-NAME
: la carpeta dentro de tu proyecto desde la que desearías crear un repositorio separado.Sugerencia: los usuarios de Windows deberían utilizar
/
para delimitar carpetas. -
BRANCH-NAME
: la rama por defecto de tu proyecto actual, por ejemplo,master
(principal) ogh-pages
.$ git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME BRANCH-NAME # Filtra la rama especificada en tu directorio y elimina las confirmaciones vacías > Vuelve a escribir 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89) > Ref 'refs/heads/BRANCH-NAME' se sobrescribió
El repositorio debería ahora únicamente contener archivos que estuvieron en tu subcarpeta.
-
-
Crea un nuevo repositorio en GitHub Enterprise.
-
En la parte superior de tu nueva página Quick Setup del repositorio GitHub Enterprise, haz clic en para copiar la URL del repositorio remoto.
Sugerencia: para obtener información sobre la diferencia entre las URL HTTPS y SSH consulta "¿Qué URL remota debería usar?"
-
Verifica el nombre remoto existente para tu repositorio. Por ejemplo,
origin
(origen) oupstream
(ascendente) son dos 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)
-
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
-
Verifica que la URL remota haya cambiado con el nombre de tu nuevo repositorio.
$ git remote -v # Verifica la nueva URL remota > origin https://nombre de host/USERNAME/NEW-REPOSITORY-NAME.git (fetch) > origin https://nombre de host/USERNAME/NEW-REPOSITORY-NAME.git (push)
-
Sube tus cambios al nuevo repositorio en GitHub Enterprise.
git push -u origin BRANCH-NAME