Hay un lugar especial en el infierno para las personas que codifican rutas absolutas y credenciales de bases de datos en múltiples lugares aleatorios en aplicaciones web. Lamentablemente, antes de ir al infierno están causando estragos en la Tierra. Y tenemos que lidiar con su código.git: ¿cómo me fusiono entre ramas mientras mantengo algunos conjuntos de cambios exclusivos de una rama?
Tengo que realizar algunos pequeños cambios en una de esas aplicaciones web. Creo una nueva rama features
, y realizo una búsqueda global & replace para actualizar las rutas y credenciales a mi entorno local. Lo cometo. También etiqueto esto como local
.
alegremente me salto a la penitencia piratería peligrosa, y después de un centenar de parches desconcertantes, quiero combinar mis features
cambios en la rama master
, pero no quiero el local
comprometen a fusionarse.
en adelante, voy a ser la fusión de ida y vuelta entre master
y features
, y me gustaría local
a quedarse en features
, y nunca aparecen en master
.
Idealmente, me gustaría que todo esto suceda mágicamente, con tan pocos parámetros divertidos y todo lo demás posible.
¿Hay una manera simple y obvia de hacerlo que me falta?
Puedo pensar en un par, pero todos me requieren recuerde que no quiero que se cometan. Y definitivamente no es mi fuerte. Especialmente con programas tan mal pirateados.
En su defecto, estoy interesado en formas más complicadas y manuales para manejar la situación.
Sí, sí, sí. Idealmente, debería refactorizar la estúpida aplicación. Tan pronto como me paguen por hacerlo. (Y puedo pensar en algunos otros casos donde tal patrón tendría sentido, incluso en aplicaciones bien estructuradas) – kch
Agregué una respuesta a su comentario en mi respuesta. – VonC
La otra opción: use una de las extensiones de edredones (culpa, git apilada, etc.) y cambie su nombre a un parche en una cola. Creo que estas extensiones no te permitirán fusionar un parche que no se ha integrado de nuevo en las confirmaciones regulares, por lo que no puedes fusionarlo accidentalmente. Todavía no es ideal porque debes recordar abrir y volver a aplicar el parche. parche cada vez que tienes nuevas confirmaciones normales, pero resuelves el problema de olvidar que no quieres esa confirmación. – quark