Я думаю, что вы можете сделать это противоположным образом: вместо того, чтобы всегда объединять ваш local-settings
(который загрязняет вашу историю) с new-branch
, просто перебазируйте свой local-settings
и разработайте для него исправление (предполагая, что local-settings
происходит отnew branch
. В противном случае cherry-pick
может помочь).Затем, по завершении stash
вашей работы, переключитесь на new-branch
и stash pop
.После этого commit
исправление ошибки в new branch
.
Таким образом, вы всегда развиваетесь в своей ветке local-settings
, но вносите изменения в new-branch
.
РЕДАКТИРОВАТЬ
Если ваша ветвь local-settings
содержит более одного коммита, вы можете использовать rebase --onto
:
Допустим, выназвал ваши ветки так:
A -- B -- C -- D (new-branch)
\-- E -- G -- H -- I -- J (current-parent)
\-- K -- L (local-branch)
То, что вы хотите сделать, это переназначить my-branch на коммит D следующим образом:
git rebase current-parent local-branch --onto D