Tengo la configuration de GIT para mi website, en la que tengo 3 twigs (desarrollo, puesta en escena, maestro). El desarrollo ya tiene algunos cambios por delante de la puesta en escena y el maestro, ahora había un requisito urgente para corregir un error.
Revisé una twig separada del desarrollo y realicé cambios para la solución urgente en ella
Ahora, cuando trato de fusionar esta nueva twig en puesta en escena, también me muestra todos los cambios anteriores, en lugar de mostrar los cambios que acabo de comprometer con esta twig.
¿Alguien puede decirme cómo debo crear una twig que no muestre otros cambios en la twig de desarrollo mientras se fusiona con la puesta en escena?
Cuando crea una nueva sucursal, tendrá todos los cambios de su sucursal desprotegida. En su caso, diga que se encuentra en la twig Dev
y crea una nueva twig UrgentChanges
& checkout que contendrá todo el contenido de la twig Dev
. Ahora, si fusiona UrgentChanges
para staging
, va a tener trabajo de desarrollo + trabajo urgente (desde la twig UrgentChanges
) fusionada en etapas.
Lo que debería haber hecho es realizar primero el process de installation antes de crear la twig UrgentChanges
. De esta forma, cuando fusionas UrgentChanges
con la staging
en staging
, tendrá un trabajo de escenificación original + trabajo urgente.
Haga clic para leer más
Como afirma Prashanth, desea crear la nueva twig mientras tiene desviada la que desea desviar, en este caso dijo que deseaba modificar la twig de etapas.
Pero todos cometemos estos errores de vez en cuando, que es una de las razones por las que Git es tan genial, ¡no todo está perdido! Asegúrese de que todos sus cambios estén comprometidos con su bifurcación de arreglo urgente, y note desde git log el sha de las confirmaciones que desea aplicar a la bifurcación de almacenamiento intermedio.
Ahora revisa tu sucursal y, para mayor security, crea una nueva twig urgent2. Armado con los shas que anotaste anteriormente, puedes elegirlos para urgente2.
Hay muchos buenos tutoriales sobre la selección de cerezas. Aquí hay una: http://think-like-a-git.net/sections/rebase-from-the-ground-up/cherry-picking-explained.html
Como se indicó anteriormente, si no desea que los cambios en la twig de desarrollo estén presentes en su bifurcación urgente de solución de errores, en lugar de verificar desde la twig de desarrollo, debe realizar el pago desde la twig de etapas. Sigue los pasos a continuación
Si se encuentra en su twig de desarrollo actual, asegúrese de confirmar todos sus cambios y el cambio a la twig de etapas primero
git checkout staging
Una vez en la twig de etapas, puede verificar una nueva twig para la corrección de errores como se muestra a continuación
git checkout -b urgentfixbranch
Verifique que ahora se encuentra en la twig de emergencias urgente (desprotegido de la etapa) usando el command git branch
git branch
que muestra algo así como
* urgentfixbranch staging master development
* indica su twig actual
A continuación, puede realizar todos los cambios de código y las correcciones que necesite en esta sucursal y asegurarse de que la envíe a la sucursal. Una vez que se hayan realizado todos los cambios, puede fusionar estos cambios en la twig provisional de la siguiente manera
git checkout staging git merge urgentfixbranch
Esto combinará los cambios del código de corrección urgente en la puesta en escena y, como usted creó esta twig desde la puesta en escena y no desde el desarrollo, no tendrá otros cambios de desarrollo en su puesta a escena ahora. A continuación, puede eliminar la twig urgentefix después de haber fusionado los cambios en la transición.
git branch -d urgentfixbranch
¡Espero que esto ayude!