Mój kolega właśnie miał taką sytuację. W jego przypadku były zmiany w osobnej głowie - pracują w R-Studio - i narzędzie ostrzegło ich, że mogą stworzyć gałąź z tym i tamtym odwołaniem do SHA ... ale ponieważ jedyną opcją było "Zamknij" - duh !! to była skrzynka informacyjna - zamknęli dialog i stracili informacje na zawsze ...
Dzięki reflogpoleceniu mogliśmy zobaczyć, że zmiany nie zostały utracone. Ale w naszym przypadku git branchnie zadziałało zgodnie z oczekiwaniami ... lub przychodzące git pullw jakiś sposób zepsuły. Musieliśmy wyłowić zmiany z refloga na nowo utworzoną gałąź:
git cherry-pick 0b823d42..3cce27fc
który umieścił wszystkie zmiany, które chcieliśmy w gałęzi. Wtedy moglibyśmy developbezproblemowo połączyć oddział w .
Tylko w przypadku, gdy ma charakter informacyjny dla każdego, my zidentyfikować rewizje na oderwane głowy w reflogpatrząc na tych, w między oznaczeniem „kasie” (które identyfikują oddział przerzutki):
e09f183b HEAD@{3}: pull: Fast-forward
b5bf3e1d HEAD@{4}: checkout: moving from lost_changes to develop
b5bf3e1d HEAD@{5}: checkout: moving from 3cce27fca50177a288df0252f02edd5da5ee64fd to lost_changes
3cce27fc HEAD@{6}: commit: add statistics
417a99a4 HEAD@{7}: commit: add test
0b823d42 HEAD@{8}: commit: new utility class
d9ea8a63 HEAD@{9}: checkout: moving from develop to d9ea8a635d4c2349fcb05b3339a6d7fad5ae2a09
b5bf3e1d HEAD@{10}: pull: Fast-forward
Ci, chcieliśmy były HEAD@{8}do HEAD@{6}(włącznie). Więc mamy je przez:
git cherry-pick 0b823d42..3cce27fc
Następnie zwykłe rozwiązywanie scalania i ostateczne zatwierdzanie pozostawiło nam gałąź lost_changes, w której znajduje się praca z odłączoną głowicą, którą uważaliśmy za utraconą. Łączenie tego w program development było tym razem szybkie.