Что если я перебазирую git branch на себя? - PullRequest
0 голосов
/ 23 октября 2018

Я думаю, я только что перебазировал ветку на себя, и теперь она вроде как зациклена (пишу "перебазирование" больше получаса).Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Похоже, вы застряли в режиме перебазировки, но вы не сделали круговую ветвь (не волнуйтесь).

Основная концепция git - commit, а основы для commit - то, что у одного коммита может быть только один родитель (исключение составляет начальный коммит, который ни на что не ссылается).

То есть внутри терминала, когда высделать git status внутри терминала, что отображается на вашем экране?Следующий экран является примером того, что git status должно вернуть, если вы застряли в ребазе (не обращайте внимания на ветки и файлы).важна первая строка You are currently rebasing branch.

. Это хороший индикатор ситуации, и терминал прямо под этой строкой сообщает вам, какие у вас варианты.

Просто следуйте инструкциям иgit rebase --abord, который выйдет из текущей перебазировки и установит ваше git-репо в исходное состояние до перебазировки, как будто ничего не произошло

something like this

Если вы хотитепродолжите ребазирование, исправьте возможные неопакованные файлы или разрешите конфликты и зафиксируйте изменения, затем выполните git rebase --continue

GIT - МАШИНА ВРЕМЕНИ ДЛЯ ВАШЕГО КОДА, поэтому не волнуйтесь, если в какой-то момент вы считаете, что что-то испортилипосле того, как вы git reset --hard или git rebase git reflog покажут свою временную шкалу истории действий git с хешем действия (например, хешем коммита) и описанием действия.

git reflog

Выберите действие, к которому вы хотите вернуться, скопировав хеш и используйте его с git reset --hard <action hash you want to go back to>.В моем случае я хочу вернуться к последнему коммиту, который я сделал до того, как все запутанные вещи, которые я сделал, я напишу в своем терминале git reset --hard 420d527, но учтите, что --hard сотрет все незафиксированные изменения

0 голосов
/ 23 октября 2018

Ctrl+C чтобы убить команду git, если вы используете командную строку.Если Ctrl+C не поможет, просто закройте приложение, которое вы использовали.

После этого вернитесь в свою папку git и проверьте, где вы находитесь, и в «худшем» случае просто прервите ребазирование с помощью git-rebase --abort.

Вы также всегда можете git reset --hard, чтобывернуться в состояние предварительной ребазировки.

...