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:

Eu começo com ambas as árvores limpas e em "mestre".Eu faço algo na árvore de trabalho A.

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.

questionAnswers(2)

yourAnswerToTheQuestion