Как запушить коммит в чей-то патч сет в git

Как запушить коммит в чей-то патч сет в git

Часто когда вы работаете с другими разработчиками возникает вопрос: "Как с помощью git запушить коммит в чей-то патч сет" или "Как сделать патч сет в патч другого пользователя"? Давайте рассмотрим весь процесс пошагово.

  1. Проверяем все наши измененные файлы, которые мы собираемся пушить с помощью команды:

    git status
    
  2. Добавляем их на сцену:

    git add address
    

    Где вместо address нужно подставить полный адрес по которому лежит файл. Или можно использовать git add . чтобы добавить сразу все измененные файлы.

  3. Сохраняем свой коммит в составе общего патча:

    git commit --amend
    

    Затем нажимаем Ctrl+O (Сохранить) и Ctrl+X (Выйти).

  4. Пушим коммит на сервер:

    git push origin HEAD:refs/changes/number
    

    Где вместо number нужно подставить номер основного патча, в который вы пушите. Его можно посмотреть в gerrit или там, откуда вы стягивали патч, в который сейчас хотите запушить свой коммит. К примеру, ссылка на основной патч в геррите может выглядеть так - gerrit.ourproject.com/#/c/2715.

    Т.е. нам нужно подставить 2715 и получится:

    git push origin HEAD:refs/changes/2715
    

Нажимаем Enter и все - наш коммит ушел на сервер. Если у вас остались вопросы - задайте их в комментариях.