Digamos que tengo un repositorio en git.fedorahosted.org y quiero clonar esto en mi cuenta en github para tener mi propio patio de juegos aparte del repositorio más "oficial" en fedorahosted. ¿Cuáles serían los pasos para copiar eso inicialmente? Dentro de github existe este bonito botón "fork", pero no puedo usarlo por razones obvias.
¿Y cómo rastrearía los cambios en el repositorio fedorahosted en el github?
origin
apunta a la ubicación remota canónica. En este caso, la ubicación de Github presumiblemente sería la canónica.git remote add
. Luego puede presionar a uno de ellos indicando explícitamente el control remotogit push
. Por ejemplo,git push foobar master
para empujar la rama actual almaster
control remotofoobar
.Hay una respuesta eliminada a esta pregunta que tenía un enlace útil: https://help.github.com/articles/duplicating-a-repository
La esencia es
Ejemplo de OP:
En su máquina local
fuente
error: failed to push some refs to 'https://github.com/username/testrep.git'
Para llevar su repositorio existente a otro, debe:
Clone el repositorio original primero.
Empuje las fuentes clonadas a su nuevo repositorio:
Puedes cambiar
master:master
asource:destination
rama.Si desea impulsar una confirmación específica (rama), entonces:
En el repositorio original, cree y finalice una nueva sucursal:
Elija y restablezca el punto con el que desea comenzar:
Alternativamente, seleccione el commit by
git cherry-pick
para agregarlo a HEAD existente.Luego presione a su nuevo repositorio:
Si está haciendo un rebase, úselo
-f
para forzar el empuje (no recomendado). Corregit reflog
para ver el historial de cambios.fuente
git push ... old_branch_name:new_branch_name
le permite empujar una rama de la característica de la vieja repositorio como la rama principal en el nuevo repositorio. Útil!¿Realmente desea simplemente empujar su repositorio local (con sus ramas locales, etc.) al nuevo control remoto o realmente desea reflejar el control remoto anterior (con todas sus ramas, etiquetas, etc.) en el nuevo control remoto? Si este último, aquí hay un gran blog sobre Cómo reflejar correctamente un repositorio git .
Le recomiendo que lea el blog para obtener algunos detalles muy importantes, pero la versión corta es esta:
En un nuevo directorio ejecute estos comandos:
fuente
Pruebe esto Cómo mover un repositorio completo de Git
Cree un repositorio local en el directorio temp-dir usando:
git clone temp-dir
Entra en el directorio temp-dir.
Para ver una lista de las diferentes sucursales en ORI, haga lo siguiente:
Verifique todas las ramas que desea copiar de ORI a NEW usando:
Ahora busque todas las etiquetas de ORI usando:
Antes de realizar el siguiente paso, asegúrese de verificar sus etiquetas y ramas locales utilizando los siguientes comandos:
Ahora borre el enlace al repositorio ORI con el siguiente comando:
Ahora vincule su repositorio local a su NUEVO repositorio recién creado usando el siguiente comando:
Ahora empuje todas sus ramas y etiquetas con estos comandos:
Ahora tiene una copia completa de su repositorio ORI.
fuente
Encontré una solución usando set-url que es concisa y bastante fácil de entender :
cd
en el repositorio existente en su máquina local (si aún no lo ha clonado, hágalo primero)git remote set-url origin https://github.com/user/example.git
git push -u origin master
fuente
Si tiene un repositorio Git existente:
fuente
Simplemente apunte el nuevo repositorio cambiando la URL del repositorio GIT con este comando:
Ejemplo:
git remote set-url origin [email protected]:Batman/batmanRepoName.git
Ahora, empujar y tirar están vinculados al nuevo REPO.
Luego presione normalmente así:
fuente
He tenido el mismo problema.
En mi caso, dado que tengo el repositorio original en mi máquina local, hice una copia en una nueva carpeta sin ningún archivo oculto (.git, .gitignore).
Finalmente, agregué el archivo .gitignore a la nueva carpeta creada.
Luego, he creado y agregado el nuevo repositorio desde la ruta local (en mi caso, usando GitHub Desktop).
fuente
Aquí hay una forma manual de hacer
git remote set-url origin [new repo URL]
:git clone <old remote>
Abierto
<repository>/.git/config
y cambie el control remoto (la opción de URL)
Empuje el repositorio a GitHub:
git push
También puede usar ambos controles remotos múltiples .
fuente