2013-08-01 3 views
1

Я хотел бы создать запрос на разрыв для разницы между двумя коммитами (родителем и его дочерним элементом). Я могу сделать разницу между двумя моими фиксациями с d4242...d4141, но это швы, что github не позволяет поставить d4242...d4141 в поле. (Ошибка: сравнивать нечего.)Pull request a diff

Есть ли способ вытащить запрос diff или, по крайней мере, сказать, чтобы удалить некоторые файлы/хэш из разницы между исходным репозиторием и хранилищем fork?

ответ

3

Вы можете создавать запросы на растяжение для ветвей, поэтому просто создайте ветвь, которая указывает на d4141 и начните запрос на вытягивание для этого.

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

A --- B --- C --- [d4242] --- * --- * --- [d4141] 
/
X --- * --- * --- [upstream/master] 

Если это так, вы должны избавиться от фиксаций A, B и C потому, что они являются уникальными для вашей вилки. Вы можете сделать это, создав новую ветку от любого X или upstream/master, а затем вишни выбирая все коммиты, которые вы хотите в вашем запросе тягового:

git checkout -b new-pull-request upstream/master 
git cherry-pick d4242..d4141 
git push origin new-pull-request 

Затем вы можете создать запрос нагрузочного для этой отрасли.

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

+1

Я очистил репозиторий и применил каждый патч в отдельной ветке, как вы сказали. Таким образом, это просто для меня и для сопровождающих. Благодаря :) –

1

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