Как git diff из более ранней версии без каких-либо промежуточных дополнений? - PullRequest
0 голосов
/ 16 сентября 2011

Я работаю над дополнением к проекту, который свободно основан на другом патче к тому же проекту. Я начал с клонирования репозитория ( A ). Затем я применил патч, который хотел использовать в качестве «вдохновения» для своих дополнений ( B ). Я подготовил ветку для подготовки к изменениям ( C ), а затем добавил новый код ( D ).

A-----B
       \
        \
         C-----D

Я хочу, чтобы мои новые дополнения были отделены от патча "вдохновение". Как мне теперь сгенерировать файл патча (то есть git diff), который не содержит патч «вдохновения» (B или C)? Каждый из патчей по сути будет представлять собой плагин с уникальным сценарием использования, поэтому процесс добавления каждого из них в проект будет другим.

Ответы [ 2 ]

2 голосов
/ 16 сентября 2011

Вам необходимо перебазировать изменения, чтобы они основывались на A вместо C.

git rebase --onto A C
1 голос
/ 16 сентября 2011

Если D не зависит от B или C , вы можете просто создать патч из C > D и получите именно то, что вы хотите:

git format-patch C..D
...