Запросы на извлечение создаются для того, чтобы кто-то мог просмотреть работу, сделать комментарии, предложения, внести или запросить изменения, а затем объединить код с мастером.
В вашем случае кто-то это вы.
Как единственный разработчик, вы все равно должны пересмотреть свою собственную работу, реорганизовать ее и объединить с мастером, когда будете готовы.
Один из подходов, который я часто использую, - это попытаться «надеть другую шляпу», «попробовать других людей». Так что посидите ненадолго и поставьте себя в положение: новичка в группе; младший разработчик; коллега, которого вы уважали в прошлом и т. д. Попробуйте взглянуть на него своими глазами и постарайтесь просто подумать, что вы могли бы сделать, чтобы изменение стало более очевидным, лучше написанным с еще лучшими именами, максимально избегающими знания племенных и предметных областей. ,
Итак, как вы указали, вы должны работать в ветвях, когда вы хотите отделить функции и изменения, которые не готовы для мастера. Вы можете делать все это в филиалах (вам даже не нужны запросы на управление, если вы все равно выполняете PR-задания, но это может предоставить вам полезную структуру).
Кроме того, иногда я обнаруживаю, что мое изменение не работает, а вместо того, чтобы просто пытаться вернуть его от мастера, возможно, теперь смешать с другими изменениями мастера, я могу просто сделать все это в ветке, которую затем могу игнорировать / удалить, если он начинает работать неправильно. Это огромная выгода.
Таким образом, вы должны работать в ветвях, а не брать на себя обязательства по ведению, пока не решите объединить всю ветку.
Это руководящие принципы - а не правила - следовать. Я намеренно ломаю их иногда. Например, вчера я исправил опечатку с мастером.
Запросы на извлечение обычно используются либо для рецензирования кода, либо для участия пользователей с собственным форком проекта - для одного разработчика в проекте я не вижу цели.
источник
Причина, по которой я это делаю, заключается в том, что это удобный способ убедиться, что все автоматические проверки пройдены (он компилируется, имеет правильное форматирование, модульные тесты проходят ...).
Мне не обязательно требовать, чтобы все проверки проходили для каждого коммита, но я хочу, чтобы руководитель основной ветви всегда проходил проверки. Я думаю, что запросы на извлечение являются простым способом (возможно, не единственным).
В более общем смысле это способ подключения хуков для завершения изменений. Тесты являются примером; @John упомянул создание заметок о выпуске в качестве другого примера.
источник
Запросы Pull против Git Push в конечном итоге сводятся к одной из отдельных или общей истории. Основной репозиторий является источником всех изменений. Если другие извлекают данные и вносят локальные изменения, то push-запрос может вызвать проблемы этих пользователей в виде дерева, которое они выводят из изменений.
Модель запросов на извлечение (из пользовательских веток или личных репозиториев) служит способом обеспечения согласованной истории для всех тех, кто использует и извлекает из кода.
Одна из причин, по которой вы помещаете код на github, заключается в том, чтобы сделать код доступным для разветвления и получения запросов. Вы никогда не знали, когда это произойдет, и сохранение истории ваших со-разработчиков было бы большим плюсом.
источник