В проекте, над которым я работаю, есть странная система, в которой я могу по существу вводить новые коммиты для добавления к мастеру. Вместо того, чтобы фиксировать патчи по мере их установки, они слегка изменяются в своих метаданных (хотя контент на 100% идентичен). К сожалению, это означает, что мои локальные идентификаторы фиксации не совпадают с удаленными после прохождения через систему. Т.е. представьте, что у меня есть локальная копия удаленного репозитория с тремя коммитами:
C1 -> C2 -> C3
Теперь я локально создаю три новых коммита локально, от X4
до X6
C1 -> C2 -> C3 -> X4 -> X5 -> X6
Затем я отправляю X4
в систему, которая изменяется на C4
(содержимое идентично, ха sh отличается). Это означает, что пульт дистанционного управления теперь имеет
C1 -> C2 -> C3 -> C4
и мой локальный
C1 -> C2 -> C3 -> X4 -> X5 -> X6
Я хотел бы вытащить с пульта C4
, отбросьте мой локальный X4
и добавьте X5
к `C4, чтобы я локально получил:
C1 -> C2 -> C3 -> C4 -> X5 -> X6
Прямо сейчас я делаю это, выполняя локально git format-patch
, затем git reset --hard origin/master
и git pull
, затем git am
только с X5
и X6
. Это раздражающий и утомительный процесс, есть ли лучший способ?