How do I prevent Git subtree with rejoin from messing up history?

Viewed 291

Since I wanted to release a subfolder of my repository to a separate branch, I decided to use git subtree split. The repository is relatively large and git subtree split takes a long time, so I use the --rejoin flag. To avoid the cluttered history resulting from rejoin, I introduced an intermediate branch (named upm-release) from which I do the split then.

In summary, I execute the following commands:

git checkout upm-release
git merge master

git subtree split --rejoin --prefix=sub --branch upm

That goes well exactly 3 times and results in the following history:

enter image description here

But a fourth split introduces a new history line coming from nowhere:

enter image description here

Does anyone know how I could prevent git subtree from messing up the history?

0 Answers
Related