repositorio - git push tag
¿Cómo puedo elegir sobrescribir el repositorio remoto con confirmaciones locales? (3)
Básicamente, debido a eventos fuera de mi control, mi repositorio remoto se movió; mientras tanto, trabajé mucho en mi copia local y ahora realmente solo quiero sobrescribir todo en el repositorio remoto con mis archivos locales.
Sin embargo, no soy capaz de hacer esto. Lo más cerca que puedo estar es tirar y unirme, pero luego quiere llevarme a través de un complicado proceso de fusión. No quiero fusionarme. Quiero sobrescribir No necesito una nueva sucursal, básicamente, solo quiero un nuevo comienzo.
El repositorio remoto está en unfuddle.
Cómo hacer esto para la rama principal, sin extraer datos del repositorio remoto:
Crea una nueva carpeta, init git, agrega repositorio remoto - ¡no extraigas ni recuperes!
mkdir clean_repo
git init
git remote add origin <remote-repo>
crear (y cambiar a) rama local vacía, agregar, confirmar y enviar un archivo de prueba a esto.
git checkout test
echo "test" > test
git add .
git commit -m "adding test"
git push origin:test
En github / bitbucket, cambie la rama predeterminada a la nueva rama
En local, cambia a la rama principal, confirma y presiona a repos / sucursal remoto
git checkout -b master
git push origin --mirror
No soy un experto en el ecosistema github, pero ¿por qué no puedes simplemente restablecer tu URL de repositorio remoto?
git remote set-url origin /path/to/your/new/remote/repository/url
Puede que también necesite configurar su rama de flujo ascendente mirando here .
para más información sobre git remote...
, mira here .
Puede eliminar la rama y volver a crearla, digamos que la rama que desea sobrescribir es dev
:
Eliminar la rama en su host remoto (github)
git push origin :dev
Entonces simplemente empuja tu desarrollador de nuevo:
git push origin dev
Utilizo Github para el alojamiento, no estoy familiarizado con unfuddle, pero creo que también funcionará para el unfuddle. :)
Tal como mencionó @melee, también puedes usar
git push origin dev -f
(no estoy seguro de si -f
es válido, pero --force
está bien)
git push origin dev --force
para obligar a sobrescribir la rama. Recuerdo que lo hice antes. Gracias @melee. :)