Я бы поддерживал ветку, которая отслеживает только оригинальные веб-страницы, назовем ее web
.Каждый раз, когда вы загружаете обновление, отправляйте его в ветку web
.Тогда вам нужна ветка ebook
для ваших изменений.После обновления ветки web
объедините ее с веткой ebook
, разрешив возникшие конфликты.ebook
изначально создается как ответвление от начального web
.
Сценарий: Предположим, вы начали с W0 в качестве начального состояния на веб-сервере, затем вы внесли локальные изменения в коммиты E1 и E2,Затем веб-сервер был обновлен до W1, который вы объединяете в ebook
, чтобы получить E3.
Это даст вам историю, которая выглядит следующим образом:
W0 -------- W1 (web branch)
\ \
E1 - E2 --- E3 (ebook branch)
Когда вы загружаетеВ следующем обновлении для Web, W2, вы получите этот график фиксации, при условии, что у вас также есть E4 в качестве дополнительных изменений переформатирования, необходимых из-за W1:
W0 -------- W1 -------- W2 (web branch)
\ \ \
E1 - E2 --- E3 - E4 --- E5 (ebook branch)
Когда вы объединяете W2 с E4, чтобы получить E5, Gitследует применять только изменения между W1 и W2 к E4, которые должны делать то, что вы хотите.
Примечание: этот процесс только когда-либо сливается с web
в ebook
, никогда с ebook
в web
,Слияние с ebook
обратно в web
отменит желаемый эффект, как описано в комментариях ниже к этому ответу.