Tenía dos ramas: mastery branch1. Me acaban de fusionar branch1de nuevo en mastery he terminado con esa rama. ¿Debo eliminarlo o dejarlo reposar? ¿Eliminarlo causará alguna pérdida de datos?
Además, git te advertirá (y se negará a eliminar la rama) si cree que aún no la has fusionado por completo. Si elimina forzosamente una rama (con git branch -D) que aún no está completamente fusionada, debe hacer algunos trucos para recuperar las confirmaciones no fusionadas (ver más abajo).
Sin embargo, hay algunas razones para mantener una sucursal. Por ejemplo, si se trata de una rama de características, es posible que desee hacer correcciones de errores en esa característica aún dentro de esa rama.
Si también desea eliminar la rama en un host remoto, puede hacer lo siguiente:
git push origin :branch1
Esto eliminará forzosamente la rama en el control remoto (sin embargo, esto no afectará a los repositorios ya desprotegidos y no evitará que nadie con acceso push lo vuelva a presionar / crear).
git reflogmuestra las revisiones revisadas recientemente. Cualquier rama que haya revisado en el historial reciente del repositorio también aparecerá allí. Aparte de eso, git fsckserá la herramienta de elección en cualquier caso de commit-loss en git.
Si desea guardar la rama, puede crear una etiqueta antes de eliminarla. Si desea volver a ese punto, puede retirar esa etiqueta.
Joqus
3
@Joqus Prefiero sugerir mantenerlo como una rama en ese caso. Simplemente no lo publiques.
Jonas Schäfer
Por si acaso: si desea "fusionar completamente" la rama antes de eliminarla, simplemente presione esa rama después de la fusión, pero antes de eliminarla. Algo así comogit checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
avtomaton
25
Prefiero RENAME en lugar de BORRAR
Todas mis ramas se nombran en forma de
Fix/fix-<somedescription> o
Ftr/ftr-<somedescription> o
etc.
El uso de la torre como mi extremo frontal git, pulcramente organiza toda la Ftr/, Fix/, Test/etc en carpetas.
Una vez que he terminado con una rama, me cambio el nombre a Done/...-<description>.
De esa manera, todavía están allí (lo que puede ser útil para proporcionar el historial) y siempre puedo regresar sabiendo de qué se trataba (función, corrección, prueba, etc.)
Parece redundante mantener estas ramas, y una locura cambiarles el nombre . ¿Me estoy perdiendo de algo? Siempre puedes recrear la rama. stackoverflow.com/questions/3640764/…
ksav
no tiene sentido mantener ramas después de que se fusionaron
rastaman
2
+1 para la idea de renombrar a Fix, Test y Done ... Mantener sucursales es cómo se les paga a los contratistas en mi empresa.
jpfreire 03 de
1
Si continúa y BORRA la rama después de fusionarla.
Solo cuide
todas las referencias de URL de hipervínculos de sus sucursales BORRADAS, serán ROTAS .
Respuestas:
Después de la fusión, es seguro eliminar la rama:
Además, git te advertirá (y se negará a eliminar la rama) si cree que aún no la has fusionado por completo. Si elimina forzosamente una rama (con
git branch -D
) que aún no está completamente fusionada, debe hacer algunos trucos para recuperar las confirmaciones no fusionadas (ver más abajo).Sin embargo, hay algunas razones para mantener una sucursal. Por ejemplo, si se trata de una rama de características, es posible que desee hacer correcciones de errores en esa característica aún dentro de esa rama.
Si también desea eliminar la rama en un host remoto, puede hacer lo siguiente:
Esto eliminará forzosamente la rama en el control remoto (sin embargo, esto no afectará a los repositorios ya desprotegidos y no evitará que nadie con acceso push lo vuelva a presionar / crear).
git reflog
muestra las revisiones revisadas recientemente. Cualquier rama que haya revisado en el historial reciente del repositorio también aparecerá allí. Aparte de eso,git fsck
será la herramienta de elección en cualquier caso de commit-loss en git.fuente
git checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
Prefiero RENAME en lugar de BORRAR
Todas mis ramas se nombran en forma de
Fix/fix-<somedescription>
oFtr/ftr-<somedescription>
oEl uso de la torre como mi extremo frontal git, pulcramente organiza toda la
Ftr/
,Fix/
,Test/
etc en carpetas.Una vez que he terminado con una rama, me cambio el nombre a
Done/...-<description>
.De esa manera, todavía están allí (lo que puede ser útil para proporcionar el historial) y siempre puedo regresar sabiendo de qué se trataba (función, corrección, prueba, etc.)
fuente
Si continúa y BORRA la rama después de fusionarla.
Solo cuide
todas las referencias de URL de hipervínculos de sus sucursales BORRADAS, serán ROTAS .
fuente