Запрос на тягу только для выборочных коммитов - PullRequest
0 голосов
/ 27 января 2019

Я хотел бы сделать PR для некоторых изменений, которые я готов внести в проект с открытым исходным кодом .Я разветвил репозиторий и внес изменения , необходимые для запуска приложения.Эти изменения (назовем их Commit # 1) специфичны для моей сборки, поэтому они должны существовать только на моем форке и не должны быть включены ни в один запрос на извлечение к основному репо.Второй набор изменений (Commit # 2) - это то, что нужно включить в PR.

Чтобы успешно создать и запустить код, у меня должен быть Commit # 1, так как я разрабатываю Commit # 2,По этой причине я включил коммит №1 в ветку функций, из которой планирую сделать пиар.Как только я буду готов передать коммит № 2 для включения в основной репозиторий, как мне сделать PR, который включает только коммит № 2, но не коммит № 1?

Я выполнилследующие шаги в попытке сделать это:

  • Форк основного репо
  • Внести изменения и зафиксировать (Commit # 1)
  • Создать и переключиться на ветку объектов
  • Внести дополнительные изменения и зафиксировать (Commit # 2)
  • Push to my fork

Observed : ветвь функций в моем форке содержитобе фиксации, поэтому я не могу использовать его для PR из-за изменений, в том числе изменений, предназначенных только для моего форка (Commit # 1).

Desired : я бы хотел ветвь функциисодержать только Commit # 2, чтобы я мог использовать его для PR.

Что я должен был сделать, чтобы все еще иметь возможность строить локально (т.е. иметь необходимые изменения из Commit # 1), но создатьPR, который включает только изменения из Commit # 2?

1 Ответ

0 голосов
/ 27 января 2019

Вы можете создать новую ветвь на основе восходящего потока, а затем cherry-pick тот коммит, который вы хотите отправить восходящему в эту ветвь.

git checkout -b for-pull-request origin/master
git cherry-pick <Commit #2 SHA>
git push origin for-pull-request

И затем сделать запрос на извлечение, используя for-pull-request филиал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...