Problem polega na tym, że skrytka składa się z dwóch lub trzech zatwierdzeń. Podczas przechowywania zmodyfikowane drzewo robocze jest przechowywane w jednym zatwierdzeniu, indeks w jednym zatwierdzeniu oraz (jeśli jest używana flaga --include-untracked
) wszelkie niepotwierdzone pliki w trzecim zatwierdzeniu.
Możesz to zobaczyć, jeśli używasz gitk --all
i robisz skrytkę.
[email protected]{0}
punkty do popełnienia który zawiera drzewo roboczą.
Można jednak cherry-pick niż popełnić jeśli nie
git cherry-pick "[email protected]{0}" -m 1
Powodem że cherry-pick
uważa, że ukryta jest scalanie, a zatem potrzebuje parametr -m 1
jest to, że zapas popełnić ma multpile rodzice, jak widać na wykresie.
Nie jestem do końca pewien, co chcesz osiągnąć, wybierając cherry-picking. Ewentualną alternatywą jest utworzenie oddziału ze skrytki. Zatwierdź zmiany i połącz je z bieżącym oddziałem.
git stash branch stashchanges
git commit -a -m "changes that were stashed"
git checkout master
git merge stashchanges
>> Nie jestem pewien, co dokładnie chcesz osiągnąć, wybierając cherry-picking? - W moim przypadku proste scalenie byłoby w porządku, wykonując polecenie stos/pop. Ale zastanawiałem się, czy mogę wybrać kilka zmian z ukrytych zmian. Dzięki za odpowiedź. –