2016-02-03 2 views
0

Я разветвил проект на GitHub. Я сделал небольшую свалку, все в моей собственной ветви мастера. Я бы хотел, чтобы они были приняты в восходящем направлении, поэтому я хочу создавать запросы на чистый запрос для каждого.Создайте запросы на получение от беспорядочной вилки GitHub

У меня есть created an "upstream" remote в моем репо. Я считаю, что для каждого запроса тянуть я хочу, чтобы мне нужно:

  1. Создать локальную ветку, и проверить его
    git checkout -b mynewfeaturename
  2. Установите эту ветвь текущего состояния верхнего течения (не-мое -проект) репо. (Rebase? Reset?)
  3. Просмотрите мои собственные коммиты и «вишневый выбор», чтобы применить их к этой ветке.
  4. Push this branch to GitHub.
    git push origin mynewfeaturename
  5. Create the pull request from the branch.

Мой вопрос имеет два аспекта:

  • ли вышеописанный процесс правильно?
  • Что мне нужно сделать для шага 2, в частности?

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

ответ

2
  1. Создайте локальную ветку и проверьте ее. (git checkout -b mynewfeaturename)
  2. Установите эту ветвь в текущее состояние репозитария вверх (не-my-project). (Rebase? Сброс?)

Сочетание двух вышеуказанных шагов не имеет смысла. Вы можете добраться до того же места:

git checkout -b mynewfeaturename upstream/master 

То есть, создать новый локальный филиал mynewfeaturename на основе текущего состояния upstream/master, а затем построить эту ветвь путем выборочного применения фиксаций.

  1. Просмотрите мои собственные коммиты и «вишневый выбор», чтобы применить их к этой ветке.
  2. Нажмите эту ветку в GitHub.
  3. Создайте запрос на тяну от ветки.

Это в основном правильно, хотя вы хотите, чтобы убедиться, что если конкретное изменение зависит от ранее представленного PR, что она основана на том PR, а не каталог на входе состояния.

То есть, если вы ранее представили PR для myfeature_A, и теперь вы хотите, чтобы представить PR для myfeature_B, который зависит от изменений в myfeature_A, то:

git checkout -b myfeature_B myfeature_A 

В зависимости от состояния вашего местный репозиторий, ваша жизнь также может быть проще, если вы сначала начнете с интерактивной перестройки своей ветви, чтобы очистить историю, срубив связанные с ней коммиты.

+0

Зависимости PR интересны и полезны, спасибо! – Phrogz

Смежные вопросы