repositorio - git ver archivos modificados
Mover el contenido del repositorio Git a otro repositorio preservando el historial (6)
Estoy intentando mover solo los contenidos de un repositorio (digamos repo1) a otro repositorio existente (digamos repo2) usando los siguientes comandos;
- git clone repo1
- git clone repo2
- cd repo1
- git origen remoto rm
- git remote add repo1
- git push
Pero no está funcionando. Revisé la otra publicación similar, pero solo encontré mover la carpeta, no los contenidos.
Aquí hay muchas respuestas complicadas; sin embargo, si no está preocupado con la conservación de ramas, todo lo que necesita hacer es restablecer el origen remoto, establecer el flujo ascendente y presionar.
Esto funcionó para preservar todo el historial de compromisos para mí.
cd <location of local repo.>
git remote set-url origin <url>
git push -u origin master
Creo que los comandos que estás buscando son:
cd repo2
git checkout master
git remote add r1remote **url-of-repo1**
git fetch r1remote
git merge r1remote/master --allow-unrelated-histories
git remote rm r1remote
Después de eso, repo2/master
contendrá todo desde repo2/master
y repo1/master
, y también tendrá el historial de ambos.
Esto funcionó para mover mi repositorio local (incluida la historia) a mi repositorio remoto de github.com. Después de crear el nuevo repositorio vacío en GitHub.com utilizo la URL en el paso tres a continuación y funciona muy bien.
git clone --mirror <url_of_old_repo>
cd <name_of_old_repo>
git remote add new-origin <url_of_new_repo>
git push new-origin --mirror
Encontré esto en: https://gist.github.com/niksumeiko/8972566
Parece que estás cerca. Suponiendo que no se trata de un error tipográfico en su presentación, el paso 3 debe ser cd repo2
lugar de repo1. Y el paso 6 debería ser git pull
not push. Lista reelaborada:
1. git clone repo1
2. git clone repo2
3. cd repo2
4. git remote rm origin
5. git remote add repo1
6. git pull
7. git remote rm repo1
8. git remote add newremote
Perfectamente descrito aquí https://www.smashingmagazine.com/2014/05/moving-git-repository-new-server/
Primero, tenemos que buscar todas las ramas y etiquetas remotas del repositorio existente en nuestro índice local:
git fetch origin
Podemos verificar si falta alguna rama que necesitemos para crear una copia local de:
git branch -a
Usemos el URL SSH-clonado de nuestro nuevo repositorio para crear un nuevo control remoto en nuestro repositorio local existente:
git remote add new-origin [email protected]:manakor/manascope.git
Ahora estamos listos para enviar todas las ramas y etiquetas locales al nuevo origen remoto llamado nuevo:
git push --all new-origin
git push --tags new-origin
Hagamos de origen nuevo el control remoto predeterminado:
git remote rm origin
Cambia el nombre del origen nuevo al origen justo, de modo que se convierta en el control remoto predeterminado:
git remote rename new-origin origin
Si está buscando preservar las ramas existentes y el historial de compromisos, aquí hay una forma que funcionó para mí.
git clone --mirror https://github.com/account/repo.git cloned-repo
cd cloned-repo
git push --mirror {URL of new (empty) repo}
Ahora, supongamos que desea mantener los repos de origen y destino sincronizados durante un período de tiempo. Por ejemplo, todavía hay actividad dentro del repositorio remoto actual que desea transferir al repositorio nuevo / de reemplazo.
git clone -o old https://github.com/account/repo.git my-repo
cd my-repo
git remote add new {URL of new repo}
Para desplegar las últimas actualizaciones (suponiendo que no haya cambios locales):
git checkout {branch(es) of interest}
git pull old
git push --all new
NB: Todavía tengo que usar submódulos, por lo que no sé qué pasos adicionales podrían ser necesarios si los tiene.