remota ramas rama partir otra fusionar crear comandos git branching-and-merging

git - ramas - ¿Cómo puedo sobrescribir, no fusionar, una rama remota en otra rama?



git pull (4)

Le sugiero que simplemente cambie el nombre en caso de que cambie de opinión.

git branch -m staging staging_oops git checkout beta git branch staging

Si realmente no puedes soportar tener esa rama extra alrededor:

git branch -D staging_oops

Tengo dos ramas. La puesta en escena y la beta. La puesta en escena tiene un código (incluidos los archivos), que no quiero en absoluto. ¿Cómo puedo hacer que Beta sobrescriba completamente el Staging, de modo que ninguno de esos archivos o códigos se fusionen de Staging en Beta?

Veo que algunas personas recomiendan hacer esto:

git checkout staging git merge -s ours beta

Pero no creo que los archivos preexistentes sean un "conflicto de código" y, por lo tanto, no se eliminen. ¿Me equivoco? Si estoy en lo cierto, ¿cómo lograría esto?


Puede simplemente eliminar la staging y volver a crearlo en función de la beta :

git branch -D staging git checkout beta git branch staging


Si la historia de la puesta en escena no va a ser un problema, simplemente puede hacer esto.

git checkout staging git reset --hard beta

Solo recuerde que el historial de puesta en escena desaparecerá después del comando anterior y la puesta en escena tendrá el trabajo de su rama beta .


Si no te importa la antigua historia de la staging en staging , puedes recrearla:

git checkout beta git branch -f staging

Si te preocupas por la antigua historia de la staging en staging , entonces las cosas se ponen más divertidas:

git checkout staging # First, merge beta into staging so we have git merge -s theirs beta # a merge commit to work with. git checkout beta # Then, flip back to beta''s version of the files git reset --soft staging # Then we go back to the merge commit SHA, but keep # the actual files and index as they were in beta git commit --amend # Finally, update the merge commit to match the # files and index as they were in beta.