Объединяйте пулл-реквесты GitHub, возможно, сначала внося в них изменения

Недавно я начал управлять проектом на GitHub, где люди отправляли запросы на включение. Вместо того, чтобы объединять их в мастер, я хотел бы иметь возможность:

  1. Сначала проверьте их, чтобы убедиться, что они действительно работают

  2. Возможно внесение некоторых стилистических изменений перед слиянием с мастером

Как я могу это сделать?

Вам нужно создать отдельную ветку, такую ​​как «dev», и проинструктировать людей кодировать ее, прежде чем вы объединитесь с мастером?


person Jeff    schedule 25.06.2011    source источник


Ответы (2)


На этой странице есть справка github, на которой подробно описано, как вносить изменения. к запросу на вытягивание, проверив запросы на вытягивание локально.

Что я мог бы попробовать, так это сначала создать пульт для отправителя запроса на вытягивание (я использую примеры с приведенной выше страницы):

git remote add kneath git://github.com/kneath/jobs.git

Получить изменения:

git fetch kneath

Проверьте рассматриваемую ветку (например, master):

git checkout kneath/master

Проверяйте их как хотите, так как код, который будет там, будет кодом запроса на извлечение. Запустите тесты и т.д.

Объедините их, если вы готовы:

git checkout master
git merge kneath/master

Кроме того, вот очень хорошая страница о git рабочих процессах управления проектами, в которой подробно описаны различные рабочие процессы. может взять на себя интеграцию совместной работы.

person Jorge Israel Peña    schedule 25.06.2011
comment
На самом деле вам даже не нужно столько команд. Нажмите (i) в левой части панели слияния, и вы получите все необходимые команды. - person Tekkub; 25.06.2011
comment
О, хорошо, как я уже сказал, я просто взял их со страницы справки github, на которую я ссылался. Я полагаюсь на ваши знания, хотя я уверен, что вы знаете больше. - person Jorge Israel Peña; 25.06.2011

Более быстрый способ работать с GitHub — использовать эту функцию GitHub, представленную Заком Холманом в его GitHub Secrets II Talk (видео).

git fetch origin pull/id/head:name

Где id — это идентификатор запроса на вытягивание, head — это удаленная ветка (на развилке), а name — это имя, которое вы хотите присвоить локальной ветке. Например:

git fetch origin pull/12/head:pr

Выполняет запрос на извлечение №12 в ветку с именем pr.

Вы можете добавить это как псевдоним в git, если вы часто используете это.

person Alex    schedule 24.08.2013
comment
Хороший трюк. Строка head на самом деле является head, а не именем ветки (например, master). - person whyscream; 28.03.2015
comment
Я успешно клонировал PR локально, внес изменения и теперь хочу объединиться. Как мне объединиться? - person stevec; 03.02.2020