git-new-workdir: Confirmação na árvore de trabalho A causa mudanças falsas na árvore B
eu usogit-new-workdir
ter duas árvores em funcionamento para um repositório git. Isso geralmente funciona muito bem, mas eu tenho um comportamento engraçado depois de cometer algo, se a mesma ramificação é registrada em ambas as árvores de trabalho:
Resultado:
"git status" na árvore de trabalho A mostra "clean" (como esperado)"git status" na árvore de trabalho B mostra de repente "Changes to be committed"As mudanças mostradas são o inverso do commit que acabei de fazer em A. Por exemplo, se o commit em A adicionou uma linha, as "Changes to be committed" em B mostram que esta linha foi removida.
O que esta acontecendo aqui? Esta é uma limitação conhecida do git-new-workdir? Existe uma maneira de evitar esse problema? Ou devo evitar o check-in enquanto o mesmo branch é retirado em ambas as cópias?
Eu também estaria interessado em entender o que está acontecendo aqui internamente (eu sei pouco sobre os internos do git).
Nota:
Eu achei que o problema é fácil de resolver, apenas correndogit reset--hard
em B, se B não tiver alterações não comprometidas antes do commit em A.
No entanto, se eu fizer commit em A while há mudanças não confirmadas em B, as mudanças reais não confirmadas se misturam com as alterações falsas do commit, e parece não haver uma maneira fácil de desenredá-las. Daí a questão.