Ответы пользователя по тегу Android Studio
  • Как запушить все коммиты?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Невозможно "пушить коммиты"! Пушится только целиком вся локальная ветка в какую-то конкретную внешнюю ветку.

    Вашу проблему видно тут
    Оказывается, последние коммиты вылетели из ветки master, т.е. вот что пишут логи Version Control:
    для первого коммита - In 3 branches: HEAD, master, origin/master
    для большинства коммитов проекта - In 2 branches: HEAD, master
    для последних - In 1 branch: HEAD.

    Вы видимо ВЫШЛИ из текущей ветки и сделали checkout на произвольном коммите. Это называется состояние detached HEAD, т. е. когда на коммит указывает только HEAD. Если в таком состоянии начать создавать коммиты, то получится НОВАЯ цепочка коммитов, которая не принадлежит никакой именованной ветке. Так вы и сделали, судя по тому, что ваша IDE говорит что эти коммиты видны только в HEAD.

    Как это исправить? Ответ зависит от того, что вы хотели добиться, переключившись на старое состояние проекта. Если нужно было просто отбросить более свежие правки, то надо было изначально делать reset, а не checkout. А сейчас просто сделайте так, чтобы ваша ветка указывала на текущий коммит.
    Пересоздайте её локально и во внешнем репозитории.
    git branch -f master
    git push -f
    Ответ написан
    Комментировать
  • Ошибка при обновлении Android Studio. Как победить?

    sergey-kuznetsov
    @sergey-kuznetsov
    Автоматизатор
    Попробуй обновиться используя JetBrains Toolbox для Android Studio.
    И вообще этот инструмент сильно облегчает жизнь.
    Ответ написан
    1 комментарий
  • Как сбросить пуши гит в Android Studio?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Делай осмысленные сообщения коммитов. Эти шифровки с датами тебя только запутают.

    Сам факт, что при push ты видишь много коммитов, не является ошибкой. Не надо пытаться это исправить.
    Это лишь признак того, что твоя ветка не основана на актуальном мастере изначально и в процессе работы подгружались обновления, либо ты баловался c push --force что равносильно пересборке ветки заново через rebase.
    После такого принудительного push, на других компах уже недостаточно обычного pull. Придётся сделать pull в режиме --rebase, иначе получится каша из коммитов.

    Советую для работы с самим репозиторием параллельно использовать нормальный Git-клиент, который наглядно показывает дерево коммитов. SmartGit идеален для этого. Так будет намного понятнее что происходит.
    Ответ написан