Вернуть / отменить Git Rebase в Android Studio

Сегодня я пришел с проблемой, которая случайно произошла со мной.

Для моего текущего проекта у меня есть два местных филиала в моей студии.

Местные отделения:

а) мастер (пассивная ветвь)

б) Аккаунт (активная ветка)

и то же самое на удаленном сервере.

Вчера я переместил ветку моей локальной учетной записи на удаленную.

Моя проблема:

Сначала я оформляю заказ в локальную главную ветку, а затем нажимаю на ветку локальной учетной записи и нажимаю Перебазировать на ... :(

И теперь мои обе ветки показывают одинаковые файлы и структуру каталогов.

Android Studio показывает такие сообщения, как

а) Ошибка синхронизации проекта Gradles (базовая функциональность не работает).

б) Модуль SDK не определен.

В каждом файле все импортированные модули и библиотеки показывают ошибки.

Я читал о Rebase, но не понимаю, что он сделал в моем случае.

Мои вопросы:

Что я могу сделать, чтобы вернуть его в нормальное состояние?

Я не могу понять, почему обе ветки получают одинаковые сообщения Gradle.

Повлияло ли это и на мои удаленные файлы?

Могу ли я вернуться к местной истории?


person Ashish Shukla    schedule 20.11.2017    source источник
comment
Кстати, что не так с вопросом?   -  person Ashish Shukla    schedule 20.11.2017
comment
Кто-нибудь может пролить свет на мои вопросы :)   -  person Ashish Shukla    schedule 20.11.2017


Ответы (3)


Сделать это довольно просто. Во-первых, откройте вкладку VCS в Android Studio.

Вверху панели вы увидите, что там написано log:

введите здесь описание изображения

Щелкните правой кнопкой мыши любую данную ревизию и выберите «Проверить ревизию». Затем для этого используется команда checkout. Пример использования возврата из командной строки

В качестве альтернативы вы можете использовать кнопку возврата:

введите здесь описание изображения

Но вы можете вернуться только к последней фиксации, используя его, поэтому, если вы хотите вернуться дальше, проще использовать первый метод.

И нет, вы не можете вернуться, используя местную историю. Это история конкретного файла, а не история VCS. Единственное аннулирование кешей и перезапуск стирает эту историю, поэтому ее использование ненадежно. В этих случаях лучше использовать VCS, особенно если у вас уже установлен и активен Git в проекте.

person Zoe    schedule 20.11.2017
comment
Это то, что я хотел, спасибо - person Ashish Shukla; 23.11.2017

Я не уверен, что вы можете сделать это в студии Android, но определенно можете на консоли. Проверьте git reflog (https://git-scm.com/docs/git-reflog ).

Вы можете ввести git reflog и проверить, в какой момент вы хотите вернуться, а затем введите git reset 'HEAD@{1}. (замените HEAD@{1} на основе вывода git reflog.

person Alee Ciaral Policarpio    schedule 20.11.2017
comment
Для этого не обязательно быть экспертом в командной строке git. Просто откройте свою командную строку, перейдите в каталог своего репозитория и введите git reflog. - person Alee Ciaral Policarpio; 20.11.2017
comment
Я попробую это, но я подумал, смогу ли я сделать это со студией, могу ли я использовать для этого параметр «Вернуть» в локальной истории. - person Ashish Shukla; 20.11.2017
comment
@AshishShukla краеведческая история - это не история VCS - person Zoe; 20.11.2017

В меню VCS есть несколько опций - ›Подменю Git включает abort rebase для отмены rebase. другие варианты - пропустить и продолжить перебазирование.

person Reyhane Farshbaf    schedule 30.06.2020