tipos tag repositorio origin example etiquetas eliminar crear git unfuddle

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:

  1. Crea una nueva carpeta, init git, agrega repositorio remoto - ¡no extraigas ni recuperes!

    mkdir clean_repo

    git init

    git remote add origin <remote-repo>

  2. 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

  3. En github / bitbucket, cambie la rama predeterminada a la nueva rama

  4. 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. :)