
heiko rupp
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 además del repositorio más “oficial” en fedorahosted. ¿Cuáles serían los pasos para copiar eso inicialmente? Dentro de github hay este bonito botón de “bifurcación”, pero no puedo usarlo por razones obvias.
¿Y cómo rastrearía los cambios en el repositorio alojado en fedora en el de github?

troelskn
- Cree un nuevo repositorio en github.
- Clone el repositorio de fedorahosted a su máquina local.
git remote rename origin upstream
git remote add origin URL_TO_GITHUB_REPO
git push origin master
Ahora puede trabajar con él como cualquier otro repositorio de github. Para extraer parches de upstream, simplemente ejecute git pull upstream master && git push origin master
.

multitud
Hay una respuesta eliminada en esta pregunta que tenía un enlace útil: https://help.github.com/articles/duplicating-a-repository
la esencia es
0. create the new empty repository (say, on github)
1. make a bare clone of the repository in some temporary location
2. change to the temporary location
3. perform a mirror-push to the new repository
4. change to another location and delete the temporary location
Ejemplo de OP:
En su máquina local
$ cd $HOME
$ git clone --bare https://git.fedorahosted.org/the/path/to/my_repo.git
$ cd my_repo.git
$ git push --mirror https://github.com/my_username/my_repo.git
$ cd ..
$ rm -rf my_repo.git

kenorb
Para convertir su repositorio existente en diferente, necesita:
-
Clona primero el repositorio original.
git clone https://git.fedorahosted.org/cgit/rhq/rhq.git
-
Empuje las fuentes clonadas a su nuevo repositorio:
cd rhq
git push https://github.com/user/example master:master
puedes cambiar master:master
dentro source:destination
rama.
Si desea enviar una confirmación específica (rama), haga lo siguiente:
-
En el repositorio original, crea y verifica una nueva rama:
git checkout -b new_branch
-
Elija y restablezca el punto con el que desea comenzar:
git log # Find the interesting hash
git reset 4b62bdc9087bf33cc01d0462bf16bbf396369c81 --hard
Alternativamente, seleccione la confirmación por git cherry-pick
para añadir a HEAD existente.
-
Luego empuje a su nuevo repositorio:
git push https://github.com/user/example new_branch:master
Si está rebasando, use -f
para empuje forzado (no recomendado). Correr git reflog
para ver el historial de cambios.
Si tiene un repositorio Git existente:
cd existing_repo
git remote rename origin old-origin
git remote add origin https://gitlab.com/newproject
git push -u origin --all
git push -u origin --tags
Encontré una solución usando establecer URL cual es conciso y bastante fácil de entender:
- crear un nuevo repositorio en Github
cd
en el repositorio existente en su máquina local (si aún no lo ha clonado, haga esto primero)
git remote set-url origin https://github.com/user/example.git
git push -u origin master
¿Realmente desea simplemente enviar su repositorio local (con sus sucursales locales, etc.) al nuevo control remoto o realmente desea duplicar el antiguo control remoto (con todas sus sucursales, etiquetas, etc.) en el nuevo control remoto? Si esto último aquí hay un gran blog sobre Cómo duplicar correctamente un repositorio de git.
Le recomiendo encarecidamente que lea el blog para conocer algunos detalles muy importantes, pero la versión corta es esta:
En un nuevo directorio, ejecute estos comandos:
git clone --mirror git@example.com/upstream-repository.git
cd upstream-repository.git
git push --mirror git@example.com/new-location.git

Abdel Ourimchi
Simplemente señale el nuevo repositorio cambiando la URL del repositorio GIT con este comando:
git remote set-url origin [new repo URL]
Ejemplo: git remote set-url origin git@bitbucket.org:Batman/batmanRepoName.git
Ahora, empujar y tirar están vinculados al nuevo REPO.
Luego presione normalmente así:
git push -u origin master