Ответ 1
Проблема заключается в том, что тайник состоит из двух или трех коммитов. При скреплении модифицированное рабочее дерево сохраняется в одном коммите, индексе в одном коммите и (если используется флаг --include-untracked
) любые файлы без трещин в третьей фиксации.
Это можно увидеть, если вы используете gitk --all
и делаете тайник.
[email protected]{0}
указывает на фиксацию, содержащую рабочее дерево.
Тем не менее, вы можете выбирать из этой фиксации, если вы делаете
git cherry-pick "[email protected]{0}" -m 1
Причина, по которой cherry-pick
считает, что stash является слиянием и, следовательно, нуждается в параметре -m 1
, заключается в том, что фиксация stash имеет многостраничных родителей, как вы можете видеть на графике.
Я не уверен точно, чего вы хотите достичь путем сбора вишни. Возможной альтернативой является создание ветки из кошелька. Зафиксируйте там изменения и объедините их в свою текущую ветку.
git stash branch stashchanges
git commit -a -m "changes that were stashed"
git checkout master
git merge stashchanges