Инструкция про то как создать пуллреквест в уже заполненной единственной ветке. Может быть полезно при единоразовом ревью одного проекта
- Вот мы имеем ветку с коммитами
- Создаем пустую ветку и делаем туда пустой коммит
- Создаем копию ветки master, которую будем менять (чтобы не трогать ветку master)
- Перемещаем пустой коммит из ветки
review-1-target
вreview-1-src
. Все! Теперь можно сделать PR между этими ветками, так как у них одинаковый корень.
- Сделаем пустую ветку
git checkout --orphan review-1-target
- Если сейчас мы сделаем коммит, то там будут все наши файлы, а нам нужен именно пустой коммит. Удаляем файлы
git rm -f -r .
- Проверяем и делаем пустой коммит, если все хорошо
git status
git commit --allow-empty -m 'Empty commit'
- Запушим ветку
git push --set-upstream origin review-1-target
- Вернемся обратно на master и отпочкуемся на review-1-src
git checkout master && git checkout -b review-1-src
- Теперь - самое главное. Перенос пустого коммита в свежесозданную ветку.
git rebase -i review-1-target
- У вас откроется редактор. Сохраните файл ничего не меняя. Напомню, что в Vim команда сохранить и выйти
:wq
- Запушьте ветку
git push -u origin review-1-src
- В GitHub зайдите во вкладку "Pull Request", далее нажмите на "New Pull Request"
- Выберите нужные ветки и создайте Pull Request