リベースが機能しないように見えるほど異なる 2 つのブランチがあります。または、リベースの方法がわかりません。
一連のファイルが削除された「パブリック」ブランチがあります(フィルターブランチを使用)。ほとんどのコミットはデルタに関して一致しますが、コミット ID はすべて異なります。dev ブランチから public ブランチに変更をプルするために、かなりの数の方法を試しました...自分のやりたいことができるとは信じがたいですが、方法がわからないだけだと思いますやれ。いずれにせよ、これはうまく機能しますが、間違っているようです。
git checkout dev
git format-patch --stdout last_sync_tag > catchup.mbox
git checkout public
git am catchup.mbox
git --skip # talks about a missing file
git --skip # talks about a missing file
git --skip # talks about a missing file
パブリック ブランチで不要なファイルをフィルターで分岐しないことを含むヒントや提案を歓迎します (ただし、それらを削除するにはどうすればよいでしょうか?)。
私のツリーは多かれ少なかれ次のように見えます:
dev: a-b-c-d-e-f-g-h-i-j-k
pub: t-u-v-w-x
t ≅ a、u ≅ c、v ≅ d、w ≅ e、x ≅ g。i、j、k は、移行したい新しいパッチです。
checkout pub
rebase --onto pub i # I really expected this to work