¿Hay alguna manera de compartir un alijo en git?
Trabajo en varias máquinas, y a menudo quiero poder mover mi estado de trabajo actual de una a otra.
Estoy buscando una manera de empujar / tirar un alijo de un clon a otro, y hacer que aparezca como el alijo del otro clon, o como una rama remota aparente. Sin embargo, no espero que lo primero funcione necesariamente si el control remoto ya tiene su propio alijo.
Dado que el alijo es, en efecto, ya una rama con compromisos (aparentemente), no estoy buscando soluciones en la línea de "comprometer cada alijo a una rama y luego compartirlas". Ya tengo muchas, muchas ramas Por lo tanto, estoy buscando el refspec o similar que pueda usar para controlar el empuje / tracción.
git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)
debería funcionar bien para todos los escondites; Ver también stackoverflow.com/a/5248758/85371No está tan bien integrado como
git push
para evitar crear ramas, lo usogit stash show -p > change.patch
(después de guardar los cambios) o inclusogit diff --cached > change.patch
para crear un parche que utilizogit apply change.patch
en la próxima máquina desde la que trabajo.Al menos con esta solución, si se alteran muchos archivos en su estado de trabajo actual, todo está contenido en una sola unidad de datos.
fuente
Puedes hacer un parche y enviárselo a alguien. lo que tienen que hacer es aplicarlo.
fuente