Mueva el puntero de rama de Git a una confirmación diferente
- Mueva el puntero de la rama de Git a una confirmación diferente mientras está desprotegido en la rama de destino
- Mueva el puntero de la rama de Git a una confirmación diferente mientras no esté desprotegido en la rama de destino
Este artículo ilustra cómo podemos mover un puntero de rama de Git a una confirmación diferente. Veremos cómo podemos mover el puntero mientras está desprotegido y no desprotegido en la rama de destino.
Comencemos con el más simple.
Mueva el puntero de la rama de Git a una confirmación diferente mientras está desprotegido en la rama de destino
El siguiente ejemplo muestra una rama de característica
en nuestro repositorio. Aquí está el historial de confirmación.
Queremos mover el puntero de bifurcación de la confirmación 4ee91ac
a la confirmación e65841a
(es decir, HEAD@ {2}
). ¿Cómo hacemos esto?
Como estamos desprotegidos en la rama característica
, nuestro destino, podemos ejecutar el comando git reset
, como se muestra a continuación.
$ git reset --hard e65841a
Producción :
HEAD is now at e65841a Update README.md
Esto moverá nuestra referencia al compromiso especificado. Bastante sencillo, ¿verdad?
Pasemos al siguiente escenario.
Mueva el puntero de la rama de Git a una confirmación diferente mientras no esté desprotegido en la rama de destino
Pasemos a la rama maestra
. ¿Cómo podemos mover el puntero de rama para la rama característica
mientras está desprotegido en la rama maestra
?
Hay dos métodos disponibles. Comenzaremos con el más fácil.
el comando git branch
Esta es la sintaxis básica del comando para este escenario.
$ git branch -f <branch-name> <commit-hash>
En este escenario, queremos mover el puntero a la confirmación afcc8bb
. ¿Cómo lo hacemos?
Como se muestra a continuación, podemos mover el puntero de nuestra rama feature
con el comando git branch
.
$ git branch -f feature afcc8bb
Esto debería mover el puntero a la confirmación especificada. Confirmemos nuestro caso.
Es tan simple como eso. Veamos el otro método.
el comando git update-ref
Como se muestra a continuación, podemos usar el comando git update-ref
para mover el puntero de la rama.
$ git update-ref -m "reset: Reset <branch-name> to <sha1-commit-hash>" refs/heads/<branch-name> <sha1-commit-hash>
Queremos mover el puntero más allá de la confirmación 124bfa9
. Así es como lo haremos.
Primero, volvamos a la rama maestra
. Luego ejecutaremos el comando, como se muestra a continuación.
$ git update-ref -m "reset: Reset feature to 124bfa9" refs/heads/feature 124bfa9
El comando anterior moverá el puntero y agregará un mensaje al registro
para nuestra rama característica
. Confirmemos nuestro caso.
Ahí tienes.
En pocas palabras, Git nos permite mover el puntero de la rama mientras está desprotegido y no desprotegido en la rama de destino. Hemos cubierto diferentes comandos para ambos escenarios.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn