Articles of git rebase

¿Escoger un range de commits con cherry-pick o rebase -onto termina con el mismo resultado?

A veces quiero elegir un range de confirmaciones de un repository diferente. Sé dos maneras de hacer eso. 1. git checkout myBranch git cherry-pick begin..end o git rebase –onto myBranch begin end Encuentro que la primera versión es más fácil de recordar. Sin embargo, he leído mucho sobre cómo la recolección de cerezas es mala […]

¿Por qué git rebase a menudo tiene less conflictos de fusión que una fusión?

A menudo he escuchado decir que el uso de git rebase networkinguce el número de conflictos de fusión en lugar de git merge, pero nunca he encontrado una explicación de por qué este es el caso. Simplemente reproducir un set de cambios además de otro set de cambios no disipa el conflicto inherente mágicamente cuando […]

Necesito git rebase -Xignore-all-space para preservar mi espacio

Estoy haciendo una rebase de un gran cambio, con muchos cambios en el espacio en blanco. Para que la fusión funcione, necesito -Xignore-all-space. De acuerdo con git –help rebase: ignorar-cambiar-espacio, ignorar-todo-espacio, ignorar-espacio-a-eol Las líneas de tratamiento con el tipo de espacio en blanco indicado cambian sin cambios por el bien de una combinación de tres […]

Eliminar una confirmación específica en el historial de git que incluye fusiones

Deseo eliminar una confirmación específica, C, en el historial de git, así como algunas fusiones de compromiso único. La historia se ve así. En este ejemplo, quiero eliminar el single-commit-merge m6 y un commit problemático C —m0——————-m1—m2—m3————-m4—m5—-m6—m7—(…) \ / \ / \ / b0—b1—b2—b3 b4–(C)–b5 b6 Quiero terminar con esto (cambios destacados): vv —m0——————m1—m2—m3———m4—m5—b6—m7—(…) \ […]

¿Por qué no se ejecuta un enganche post-commit de Git en una database no interactiva?

Dado un enganche GIT post-commit arbitrario y ejecutable, no se ejecuta durante una rebase no interactiva, ni con rebase –force-rebase ni con rebase –no-ff que es sinónimo de lo anterior en modo no interactivo según a la página de manual de GIT-REBASE (1). Pero al hacer una rebase interactiva con rebase –interactive –no-ff el mismo […]

git desarrollador único con varias máquinas – rebase y commits aparecen dos veces

Algunos antecedentes: Soy un desarrollador único que trabaja en un sitio. Estoy usando git para control de versiones. Tengo varias computadoras desde las que trabajo: oficina, hogar y computadora portátil Actualmente, tengo un repository central y simple en mi server. Cada computadora clona y empuja los cambios a este repository. Actualmente tengo un maestro de […]

Detectando conflicto en git rebase

Estoy codificando algunos scripts que ejecutan git-rebase y necesitan identificar cuándo ocurrió un conflicto. Git-rebase termina con el mismo estado de salida para cada error, por lo que no puedo usar su estado de salida para detectar un conflicto. Se rebase-apply un directory llamado rebase-apply en conflictos, pero parece que es un detalle de implementación […]

git: cómo volver a orderar (severamente) una secuencia de compromiso

Estoy construyendo un historial de proyectos retrospectivo a partir de instantáneas zip. Ya he creado una larga secuencia de confirmaciones a partir de instantáneas que estaban a mano. Ahora agregué al final algunas instantáneas más 'encontradas' que deberían estar en varios lugares 'en el medio' de la secuencia de confirmación. Estoy tratando de usar git […]

Git Squash por autor: todos los autores se comprometen en un solo compromiso

Estoy intentando aplastar muchos commits en uno solo, el problema es que necesito hacerlo por autor (nombre o correo electrónico). El caso: Digamos que tengo una twig llamada feature-a, en esta twig tengo muchos commits para muchos autores. ¿Cómo puedo aplastar todas las confirmaciones por autor (correo electrónico, por ejemplo) en una única confirmación? Quiero […]

Flujo de trabajo de Git: cómo fusionar las confirmaciones realizadas solo en una nueva sucursal

Estamos usando git para rastrear el desarrollo y versiones versionadas y nos encontramos con algunos problemas para fusionar sucursales. Aquí está nuestro flujo de trabajo: production/1.0.0 A–B stage/2.0.0 A–B–C–D development E–F–G–J–L \ feature H–I–K El desarrollo de características ocurre en una twig de características que se creó a partir del desarrollo y cuando está listo […]