Задать вопрос
Ответы пользователя по тегу Git
  • Как сделать merge в ветку git-flow?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    1) По умолчанию, git push отправляет на сервер только одну ветку — текущую.
    Чтобы отправить ветку developer, сначала переключитесь на неё.
    git checkout developer
    git push -u

    Либо можно не переключаться, но явно указать, что и куда отправить
    git push -u origin developer
    Эта команда говорит: возьми ветку developer и отправь в репозиторий origin.
    Флаг -u нужен чтобы сразу связать локальные ветки с создаваемыми удалёнными.

    Хотя можно сказать гиту, чтобы он отправил сразу все локальные ветки
    % git push -u --all 
    Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
    To https://github.com/.../repo.git
     * [new branch]      developer -> developer
    Ветка «developer» отслеживает внешнюю ветку «developer» из «origin».
    Ветка «feature/feature_some1» отслеживает внешнюю ветку «feature/feature_some1» из «origin».
    Ветка «feature/feature_some2» отслеживает внешнюю ветку «feature/feature_some2» из «origin».
    Ветка «master» отслеживает внешнюю ветку «master» из «origin».

    Но если у вас есть локальная ветка, которую вы не хотите светить на сервере, то флаг -all не подойдет ))

    2) Синтаксис названия feature/feature_some1 это не две ветки, feature и вложенная feature_some1
    Это всё равно одна ветка. Но в графических клиентах такие ветки отображаются как вложенные, для удобства.
    Создав вторую ветку с именем feature/feature_some2 получим такую картинку

    604841b7bfdc2368381419.png
    Но никакой ветки feature не существует.
    % git branch    
      developer
      feature/feature_some1
    * feature/feature_some2
      master


    3) Как сделать merge в ветку developer?
    Перед слиянием убедиться, что рабочая копия не имеет незакоммиченных изменений.
    Либо дропните незафиксированные правки либо создайте коммит с ними.
    Иначе git не знает что с ними делать и выдал вам ошибку.
    Ответ написан
    1 комментарий
  • Можно ли коммитить в удалённый репозиторий без SSH-ключа в Qt Creator?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Коммитить напрямую в удалённый репозиторий невозможно, даже с паролем.
    Наверное имелся в виду Push?
    Для GitHub лучше сгенерировать персональный токен. Возиться с SSH не обязательно.
    https://docs.github.com/en/github/authenticating-t...
    Тем более с 13 августа 2021 пароли перестанут работать.
    Ответ написан
  • Как запушить в новый репозиторий?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Прежде чем подключать новый, надо удалить ссылку на старый.
    git remote remove origin
    Затем добавляем ссылку на новый
    git remote add origin https://github.com/...
    Привязываем ветку к новому репозиторию
    git push --set-upstream origin main
    Ответ написан
    Комментировать
  • Как удалить все не нужные коммиты и локал и на сервере, как буд-то их и не было?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    На скрине видим что локально всё получилось. Осталось отправить это на сервер, но вы сможете это сделать только принудительно.
    git push origin --force
    Тогда указатель ветки origin/master тоже вернётся в "Initial Attempt".
    Сами коммиты никуда не удаляются на самом деле. Вы их просто перестанете видеть, так как на них нет ссылок.
    Окончательно они удалятся после "сборки мусора".
    Ответ написан
    Комментировать