tag - Crear rama Git con los cambios actuales.
git tag (5)
Como se indica en esta pregunta: Git: cree una rama a partir de cambios no marcados / no comprometidos en el maestro : el almacenamiento no es necesario.
Solo usa:
git checkout -b topic/newbranch
Cualquier trabajo no comprometido será llevado a la nueva sucursal.
Si intentas empujar recibirás el siguiente mensaje.
fatal: la función de rama actual / NEWBRANCH no tiene rama en sentido ascendente. Para empujar la rama actual y configurar el control remoto como upstream, use
git push --set-upstream origin feature/feature/NEWBRANCH
Simplemente haga lo que se sugiere para crear la rama de forma remota:
git push --set-upstream origin feature/feature/NEWBRANCH
Comencé a trabajar en mi rama maestra pensando que mi tarea sería fácil. Después de un tiempo me di cuenta de que tomaría más trabajo y quiero hacer todo este trabajo en una nueva sucursal. ¿Cómo puedo crear una nueva rama y llevar todos estos cambios conmigo sin ensuciar el maestro?
Para agregar nuevos cambios a una nueva rama y presionar a control remoto:
git branch branch/name
git checkout branch/name
git push origin branch/name
Muchas veces me olvido de agregar la parte de origen para empujar y confundirme por qué no veo la nueva rama / cometer en bitbucket
Sigue estos pasos:
Crear una nueva rama:
git branch newfeature
Checkout nueva rama: (esto no restablecerá su trabajo).
git checkout newfeature
Ahora cometa su trabajo en esta nueva rama:
git commit -s
El uso de los pasos anteriores mantendrá su rama original limpia y no tendrá que hacer ningún ''git reset - hard''.
Ya que aún no ha realizado ninguna confirmación, puede guardar todos sus cambios en el alijo, crear y cambiar a una nueva rama, y luego volver a colocar esos cambios en su árbol de trabajo:
git stash # save local modifications to new stash
git checkout -b topic/newbranch
git stash pop # apply stash and remove it from the stash list
Si aún no ha realizado ningún compromiso, solo bastaría con (1: rama) y (3: pago).
O, en un comando: git checkout -b newBranch
Como se menciona en la página del manual de git reset
:
$ git branch topic/wip # (1)
$ git reset --hard HEAD~3 # (2) NOTE: use $git reset --soft HEAD~3 (explanation below)
$ git checkout topic/wip # (3)
- Usted ha hecho algunos compromisos, pero se da cuenta de que eran prematuros para estar en la rama "
master
". Desea continuar puliéndolos en una rama de tema, así que cree una rama de "topic/wip
" fuera de laHEAD
actual. - Rebobina la rama
master
para deshacerte de esos tres compromisos. - Cambie a la rama "
topic/wip
" y siga trabajando.
Nota: debido al efecto "destructivo" de un comando git reset --hard
(restablece el índice y el árbol de trabajo. Cualquier cambio en los archivos rastreados en el árbol de trabajo desde <commit>
se descartan), prefiero ir con:
$ git reset --soft HEAD~3 # (2)
Esto aseguraría que no esté perdiendo ningún archivo privado (no agregado al índice).
La opción --soft
no tocará el archivo de índice ni el árbol de trabajo (pero restablece la cabeza a <commit>
, al igual que lo hacen todos los modos).