Estoy en medio de la resolución de conflictos para una fusión de git, pero quiero volver a un estado limpio temporalmente sin perder el trabajo que ya hice en la fusión. Si trato de git stash, obtengo errores para cada archivo para el que aún no se ha resuelto un conflicto: “necesita fusionarse”.
¿Hay una buena manera de guardar la fusión en curso? La única idea que tengo es clonar el repositorio en una carpeta diferente, pero eso parece excesivo.
Podrías usar el git worktree
comando para agregar un nuevo árbol de trabajo en una carpeta diferente. Esto es como un segundo índice y un árbol de trabajo, pero usando el mismo repositorio de git. man git-worktree
:
Manage multiple working trees attached to the same repository.
A git repository can support multiple working trees, allowing you to check out
more than one branch at a time. With git worktree add a new working tree is
associated with the repository. This new working tree is called a "linked working
tree" as opposed to the "main working tree" prepared by "git init" or "git clone".
A repository has one main working tree (if it’s not a bare repository) and zero or
more linked working trees.
-
-
Podría ser bueno tener en cuenta que tirarías tu limpio bifurcarse en el nuevo árbol de trabajo, no en el que está trabajando en este momento.
– Daraul
11 de julio de 2021 a las 13:51
Si clona el repositorio localmente, no mantendrá una copia separada del historial del repositorio en el disco, al menos en los sistemas Unix. Entonces, si tiene 10 GB de historial pero 100 MB de archivos, solo usará los 100 MB adicionales.
-Dietrich Epp
08/01/2016 a las 20:49
La combinación en curso se almacena en el índice y el árbol de trabajo. Dado que
git stash
hace dos confirmaciones de estas dos, pensaría que sería lo correcto, excepto que el estado de fusión en curso no se puede almacenar en una confirmación: contiene metadatos que git no escribirá en un árbol. Elstash
La secuencia de comandos podría modificarse para guardar el contenido del archivo de índice sin procesar en un blob propio, pero esto sería bastante complicado. No me gustaría intentar codificarlo esta noche. 🙂 Volver a clonar el repositorio parece ser el mejor método rápido.– torek
9 de enero de 2016 a las 6:24
clones hecho para esto.
– jthill
9 de enero de 2016 a las 6:59