Git Cherry-Pick

Soy un novato en git, y entiendo cómo funciona el git cherry-pick, pero aquí está mi problema:

Recientemente, alguien en mi equipo, cambió la estructura del directory en el maestro, pero no la estructura del directory en otra twig.

Ahora, cuando realizo cambios en mi código en la twig, quiero llevarlos (cherry-pick) al master. Esto estuvo bien hasta que las estructuras de directory tanto en el maestro como en la sucursal eran las mismas.

topDir / some / subdir / file – master
topDir / some / other / subdir / file – branch

el file, cuyos cambios deben introducirse en el maestro, es el mismo, pero no la estructura de directorys en la que se encuentra. Cuando bash hacer una selección de cereza de la forma habitual, aparece un error como el siguiente:

git checkout error de commit de cometa principal de git cherry: pathespectorDirectorio / some / other / subdir / file no existe

Ahora, ¿cuál es la mejor manera de ir de un lado a otro en este escenario? Cualquier puntero es muy apreciado.


DE ACUERDO. Me acabo de dar count de que, en el mismo escenario, cuando hago una selección inteligente, git es lo suficientemente inteligente como para elegir uno de los files correctamente de la confirmación, pero no reconoce el otro.

Para usar el mismo ejemplo que mencioné en mi publicación original: En el mismo commit, topDir / some / subdir / file1, topDir / some / subdir1 / file2.

Voy a master, que tiene "file1" y "file2", solo en una estructura dir diferente: topDir / src / some / subdir / file1 topDir / src / some / subdir1 / file2.

Ahora, si hago una selección de cereza, git es lo suficientemente inteligente como para recoger los cambios en el file1, aunque esto está en una estructura de directory diferente, pero no recoge los cambios para el file2. ¿Alguna sugerencia? Si alguien quiere que sea más claro, estaré encantado de hacerlo.

Entonces, lo que hice para solucionar el problema fue hacer una selección inteligente, cambiar manualmente el que no se retomó, y "cometer git -C.

Feliz de ayudar 🙂 si el que está en el máster será el path permanente, arreglaría la estructura del file en la twig de tema para hacer coincidir el maestro, comprometerme con la twig, * luego fusionaría los cambios en maestro, no en selección de cereza. Como en

git checkout branch mv other/subdir/file subdir/file git status // git add and git rm to get the commit proper git commit -m "fixing file struct" git checkout master git merge branch 

Realmente, depende de cuáles sean los casos de uso de los files, y lo que quiere que sea en la twig principal, que es mucho más una pregunta específica de su empresa, no tanto un problema técnico que alguien aquí pueda responder por usted;)

Supongamos que tenemos nodos A,B,C,D,E & F El usuario se encuentra actualmente en el nodo F y desea seleccionar con el nodo C usando el command tipo git como Git Cherry-Pick C luego este command aplica el nodo C nodo F