Как вернуться до git sta sh -k, за которым следует git sta sh? - PullRequest
1 голос
/ 26 марта 2020

Я работал над созданием коммита.

Я хотел убедиться, что подмножество добавленных изменений все еще скомпилировано до того, как я их зафиксировал. Итак, я сделал git stash -k, чтобы поставить sh все, кроме поэтапных изменений, пошел на компиляцию и обнаружил, что это работает.

Затем я вытолкнул то, что осталось, через git stash pop

Теперь есть конфликты слияний, и, похоже, это было частичное слияние, и почти все было git add без моего согласия. Не мало. Сотни строк сложности во многих файлах.

Какого черта я должен делать? Не должно быть никаких конфликтов, я никогда не совершал, не тянул, не толкал и т. Д. c.

Я просто хочу вернуться в состояние до git stash -k (в идеале) или, по крайней мере, то, что у меня было до того, как я что-то поставил, только свободные изменения. Я могу перестроить коммит из неустановленных изменений, если мне понадобится какое-то время.

1 Ответ

3 голосов
/ 26 марта 2020

Чтобы восстановить именно то, что вы спрятали, независимо от того, что там сейчас:

git read-tree --reset -u stash    # reset index and work tree to the stashed work tree
git read-tree stash^2             # reset the index to the stashed index

Что бы ни делала ваша тестовая компиляция, очевидно, изменились отслеживаемые файлы, и вы не ожидали / не хотите этих изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...