git-new-workdir: Zatwierdź w drzewie roboczym A powoduje fałszywe zmiany w drzewie B

używamgit-new-workdir mieć dwa drzewa robocze dla jednego repozytorium git. Zwykle działa to bardzo dobrze, ale po popełnieniu czegoś mam śmieszne zachowanie, jeśli ta sama gałąź jest wyewidencjonowana w obu drzewach roboczych:

Zaczynam od czystych drzew roboczych i od „mistrza”.Popełniam coś w drzewie roboczym A.

Wynik:

„status git” w drzewie roboczym A pokazuje „czysty” (zgodnie z oczekiwaniami)„status git” w drzewie roboczym B nagle pokazuje „Zmiany do zatwierdzenia”

Pokazane zmiany są odwrotnością zatwierdzenia, które właśnie zrobiłem w A. Na przykład, jeśli zatwierdzenie w A dodało linię, „Zmiany do zatwierdzenia” w B pokazują, że ta linia została usunięta.

Co tu się dzieje? Czy to znane ograniczenie git-new-workdir? Czy istnieje sposób na uniknięcie tego problemu? A może po prostu unikać sprawdzania, gdy ta sama gałąź jest sprawdzana w obu kopiach?

Byłbym również zainteresowany zrozumieniem tego, co dzieje się tutaj wewnętrznie (niewiele wiem o wewnętrznych elementach gita).

Uwaga:

Odkryłem, że problem można łatwo rozwiązać, uruchamiając gogit reset--hard w B, jeśli B nie miał niezatwierdzonych zmian przed zatwierdzeniem w A.

Jednakże, jeśli zatwierdzę w A, podczas gdy istnieją niezatwierdzone zmiany w B, rzeczywiste niezatwierdzone zmiany zostaną zmieszane z fałszywymi zmianami z zatwierdzenia i wydaje się, że nie ma łatwego sposobu ich rozplątania. Stąd pytanie.

questionAnswers(2)

yourAnswerToTheQuestion