¿Cómo creo una nueva twig git con la diferencia de dos twigs?

Tengo mi twig master de mi proyecto. Y también tengo una twig, adding-charts , que tiene muchos cambios, nuevos files, modificaciones, etc. de la twig master . Deseo crear una nueva new-feature nueva twig que haya rastreado los files que son diferentes de las dos twigs pero que aún no se han confirmado.

Puedo ver las diferencias haciendo … git diff --name-status master adding-charts

Y lo que esperaría es tener una nueva sucursal en la que se muestren en "Cambios para comprometerse" o "Archivos sin seguimiento" al hacer el git status . Mi pensamiento es de esta manera que puedo modificarlos y volver a asignarlos / fusionarlos correctamente a la twig master .

Si este no es el process correcto para realizar los cambios, házmelo saber también. Gracias

Editar

Entonces, he usado git antes en una forma muy básica, y al explicarlo, tal vez tendrá más sentido cómo llegué a donde estoy y lo que trato de hacer.

Por lo general, me gustaría trabajar en una function y agregar / confirmar / presionar desde mi twig master . Si tenía alguna function en la que estaba trabajando, simplemente no la agregaba ni la confirmaba en el momento en que deseaba publicar un cambio en mi aplicación web, y continuaría trabajando en ellas hasta que se completaran.

Recientemente, mi máquina virtual invitada comenzó a tener problemas, por lo que confié todo en mi repository con un nuevo nombre de twig y lo envié a mi count de github. Creo que lo cloné de nuevo a la nueva máquina virtual que construí recientemente. Pensé que era un buen momento para desarrollar un nuevo flujo de trabajo. He leído en cualquier momento que deseo agregar una nueva function que debería crear una nueva y luego combinarla / publicarla una vez que esté completa. Así que eso es lo que pretendo hacer para seguir adelante, pero estoy tratando de limpiarlo ahora. adding-charts fue una twig que incorporó algunas características nuevas en realidad.

Yo haría esto en su lugar (pero, por favor, lea todos los pasos antes de comenzar):

  1. Asegúrate de no tener nada no comprometido ( git stash o git commit podrían ayudarte aquí)
  2. Tome nota de dónde se encuentra, en caso de que las cosas vayan mal: git rev-parse adding-charts le dará una buena reference
  3. Rebase agregando charts sobre el maestro ( git checkout adding-charts; git rebase master )
  4. Ahora, puedes git reset master para get todas las modificaciones en el área de preparación. (Tenga en count que esto arrojará todos sus posts de confirmación, puede getlos más tarde, pero no los includeé aquí.) Siéntase libre de git add git reset HEAD -- filename , git reset HEAD -- filename y luego git commit tanto como desee. Comience con los files que ya existen en el maestro (es decir, el git status y busque los files que no tengan el prefijo "file nuevo").
  5. Ahora que tiene todas sus confirmaciones en order, puede completar git checkout master y git merge XYZ donde XYZ es la última confirmación en la twig de agregar charts con cambios solo en sus files antiguos. git log -p adding-charts puede ayudarlo a encontrar XYZ aquí
  6. Después de que se haya actualizado el maestro, puede git push master (supongo que el motivo de su pregunta es seguir trabajando en agregar charts mientras comparte los cambios en el maestro)
  7. Para seguir trabajando en la adición de charts, podrías completar git checkout adding-charts git rebase master git checkout adding-charts y git rebase master

Si algo sale mal o cambias de opinión:

  • git rebase --abort si estás en medio de una rebase
  • git checkout adding-charts; git reset --hard XYZ git checkout adding-charts; git reset --hard XYZ donde XYZ es el resultado de git rev-parse en el paso 2 anterior. Esto hará que todo este process se deshaga.