Прежде всего, вы должны быть очень осторожны, когда предлагаете или предлагаете использовать git reset --hard
- это одна из немногих команд git, которая может вызвать безвозвратную потерю данных.Тем не менее, в вашей ситуации это, вероятно, было безопасно.
Если вы не добавили в свой репозиторий ничего странного, восстановить не из чего;вся ваша работа благополучно сидит на ветке;git merge filling-in-layout
должен решить вашу проблему.Предполагая, что вы создали ветви непосредственно перед переключением на них, ваш репозиторий на данный момент выглядит следующим образом:
static-pages
master filling-in-layout
o------o------X------o------o
, где X
обозначает текущий коммит.Чтобы получить изменения в заполнении в макете, вы просто объединяете их с мастером.
Поскольку это ускоренное слияние (т. Е. Ветви не расходятся), git reset --hard
сделает то же самое вэта ситуация, за исключением того, что она также безвозвратно удаляет все незафиксированные изменения .Кроме того, если бы вы находились в ситуации, когда заполнение макета и мастер-файлы разошлись, например,
master
o------o------X
\
\ filling-in-layout
o------o
git reset --hard filling-in-layout
вы бы потеряли (отзывчиво) коммиты, которые были в мастере, а не в заполнении-в-макет.