Как разбить серию git коммитов на патчи для отправки в другой проект - PullRequest
3 голосов
/ 08 июня 2010

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

  1. перебазировать / раздавить все до одного коммита, поскольку старые часто не имеют смысла как патчи
  2. отменить, которые фиксируют
  3. начните добавлять вещи, которые, по моему мнению, подходят для одного коммита, используя add / add -i
  4. commit
  5. , сохраняйте остальные
  6. тест, который фиксирует
  7. re-примените тайник и начните с 3, пока все не будет учтено

Работает, но есть ли лучший способ?

1 Ответ

2 голосов
/ 09 июня 2010

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

Лично я бы создал ветку "for-upstream" и cherry-pick некоторые коммитытам (и разделите или отредактируйте их, если это необходимо), но для этого нужны аналогичные ресурсы, как при использовании вашего способа.

...