tag remove practices from create crear best git git-push

remove - git tag best practices



haciendo un empujón git de una cabeza separada (6)

Estoy en una cabeza separada e hice algunos cambios. Quiero impulsar estos cambios a esta cabeza separada con git. No quiero que mis cambios vayan a la rama de desarrollo y ciertamente no a la rama maestra. Estoy trabajando en un archivo con otra persona.

Ramas de ejemplo

develop master *(HEAD detached at origin/49792_testMocha)

¿Cómo me empujo a la cabeza sin afectar el desarrollo o el dominio?


git checkout

git checkout <commit_id> git checkout -b <new branch> <commit_id> git checkout HEAD~X // x is the number of commits t go back

Esto verificará la nueva rama que apunta a la confirmación deseada.
Este comando pagará a un commit dado.
En este punto, puede crear una rama y comenzar a trabajar a partir de este momento.

# Checkout a given commit. # Doing so will result in a `detached HEAD` which mean that the `HEAD` # is not pointing to the latest so you will need to checkout branch #in order to be able to update the code. git checkout <commit-id> # create a new branch forked to the given commit git checkout -b <branch name>


Cree una nueva rama para ese commit y finalice la compra: git checkout -b <branch-name> <commit-hash> . Ahora puede enviar sus cambios a la nueva rama: git push origin <branch-name>

En caso de que necesite limpiar su otra rama de las confirmaciones sobrantes, asegúrese de ejecutar git reset --hard <branch-name> .

Aquí hay un artículo que explica cómo funciona la ramificación y la cabeza separada .


Cree una nueva sucursal usando git checkout -b BRANCH_NAME

Luego, empuje la nueva rama al control remoto: git push origin BRANCH_NAME


Nota: ¡hacer una rama antes de empujar es más recomendable que git 2.11 o menos se use para segfault!

Este no será el caso con Git 2.12+ (Q1 2017)

Ver commit b10731f (07 ene 2017) por Kyle Meyer ( kyleam ) .
(Fusionada por Junio ​​C Hamano - gitster - en commit b85f79c , 18 ene 2017)

branch_get_push : no segfault cuando HEAD está desconectado

" git <cmd> @{push} " en un HEAD separado usado para segfault; Se corrigió el error con un mensaje.

El error ahora será:

HEAD does not point to a branch

Con Git 2.12 o más, puede empujar su CABEZA separada a una rama remota, como se muestra en la answer .


Si bien todas las respuestas aquí responden la pregunta original (cómo empujar desde una cabeza separada sin afectar otras ramas), todas sugieren crear una nueva rama.

Aquí le mostramos cómo avanzar a una nueva sucursal remota sin crear una nueva sucursal local:

git checkout --detach # (or anything else that leaves you with a detached HEAD - guillotine anyone?) [change stuff & commit] git push origin HEAD:refs/heads/my-new-branch

Reemplace el origin con el nombre remoto apropiado (al que tiene acceso de escritura) y my-new-branch con lo que desee que se llame a la nueva rama.

Su commit (s) en HEAD será empujado a una nueva rama llamada my-new-branch . 🎉


Si está en una cabeza separada y quiere empujar a su rama remota

git push origin HEAD:name-of-your-branch

de lo contrario, puede crear una nueva rama y presionarla (se creará automáticamente)

git branch new-branch-name git push -u origin new-branch-name