Сделала rebase origin/develop в master, как вернуть обратно?
Добрый день всем!
В работе используется git flow.
Сегодня я, в проекте,в котором ни разу ещё не работала, находясь в локальном репо в master, сделала git fetch --all -p и затем там же - git rebase origin/develop (просто забыла переключиться в develop предварительно)
Вопрос: как все вернуть как было?? Практики с гитом особой нет, выполняю заученные команды в основном, поэтому боюсь испортить ещё больше.
UPD. Сделала git reflog, но как понять, какой номер ревизии мне нужен, чтобы сделать reset?
Лучше подучиться работать с git'ом. Наугад там можно много раз потерять. Во-первых, надо забыть про rebase и подобные команды. Максимум можешь использовать git commit --amend
но это тоже типа микроребейза, только случайные коммиты не пропустишь, так как этот ребейз делается чаще всего для закомиченного только что и поэтому ещё не вытолкнутого.
Ребейз вредит остальным участникам разработки, потому что каждый ребейз создаёт новые коммиты, даже если в них ничего не меняется (из-за изменившейся адресации коммитов). Другие участники начинают получать дубликаты коммитов.
Во-вторых, если не знаешь, что будет, сделай патчи изменений
Они отделены от репозитория, чем и отличаются от stash'а (у которого там тоже дерево, которое можно испортить).
Обратное применение через git apply -- file1.diff
Патчи можно вытащить наружу, чтобы они не стёрлись случайно.
Всё тут описывать смысла нет, потренируйся на тестовом проекте с одним файлом. Благо, его можно быстро воссоздавать (скриптом каким-нибудь).
Кроме этого репо есть ещё два, как-то повлияют команда на них, или тольк на этот репо?
У меня есть файлы не затреканные, т.к. я иногда начинаю работу над задачей, не создав новую ветку (не выработалась привычка пока делать это на автомате), тольк вот сегодня помимо этого я ещё и на девелоп не переключилась((
valentine11: т.е. я начала работать, потом обнаружила это, хотела создать новую ветку, предварительно получив изменения и все такое... и забыла переключиться на девелоп
так вы ничего не успели сделать или есть затреканные файлы и другие репозитории?
Вообще другие репозитории должны быть в других папках.
ну и да, reset --hard origin/название_ветки, и вернетесь назад на состояние с удаленного репозитория
Saboteur: под словами "ничего не успела сделать" я имела в виду, не успела ни создать ветку, ни закоммитить что-о в новый репо, но начала работу, поэтому были незатреканные файлы.
Другие репозитории в других папках, конечно, это отдельные проекты.