Похоже, вы застряли в режиме перебазировки, но вы не сделали круговую ветвь (не волнуйтесь).
Основная концепция git - commit, а основы для commit - то, что у одного коммита может быть только один родитель (исключение составляет начальный коммит, который ни на что не ссылается).
То есть внутри терминала, когда высделать git status
внутри терминала, что отображается на вашем экране?Следующий экран является примером того, что git status
должно вернуть, если вы застряли в ребазе (не обращайте внимания на ветки и файлы).важна первая строка You are currently rebasing branch
.
. Это хороший индикатор ситуации, и терминал прямо под этой строкой сообщает вам, какие у вас варианты.
Просто следуйте инструкциям иgit rebase --abord
, который выйдет из текущей перебазировки и установит ваше git-репо в исходное состояние до перебазировки, как будто ничего не произошло
Если вы хотитепродолжите ребазирование, исправьте возможные неопакованные файлы или разрешите конфликты и зафиксируйте изменения, затем выполните git rebase --continue
GIT - МАШИНА ВРЕМЕНИ ДЛЯ ВАШЕГО КОДА, поэтому не волнуйтесь, если в какой-то момент вы считаете, что что-то испортилипосле того, как вы git reset --hard
или git rebase
git reflog
покажут свою временную шкалу истории действий git с хешем действия (например, хешем коммита) и описанием действия.
Выберите действие, к которому вы хотите вернуться, скопировав хеш и используйте его с git reset --hard <action hash you want to go back to>
.В моем случае я хочу вернуться к последнему коммиту, который я сделал до того, как все запутанные вещи, которые я сделал, я напишу в своем терминале git reset --hard 420d527
, но учтите, что --hard
сотрет все незафиксированные изменения