I have looked through a lot of the rebase answers and articles and nothing seems to do what I want to to.
I have a project:
startCommit(c1)-->c2-->c3-->c4-->c5-->c6-->c7-->c8-->c9-->c10 (current)
this is creating a huge bloat when I want to run mulitiple instances of the project. (the .git directory is over 30 gigs, while the project besides the .git is only about 12g.
So what I want to say is
hey git, i don't ever want to go back in time beyond c6. So I want something that looks like:
c6-->c7-->c8-->c9-->c10 (current)
Now, rebase sounds like the right answer, but no matter how many ways i've tried it, it brings up conflicts and asks for resolutions. This doesn't make sense to me - because I know i can "checkout c6" with no issues. And as far as I understand (maybe wildly wrong), c7 onward are just deltas on the snapshot that would be at c6. C7 doesn't need to know how i got to c6 right?
I'm getting a lot of conflict pauses in the rebase, and based on the nature of the files (unity scene files), I can't just resolve them on the spot. Essentially what I'd want it to do during this rebase automatically is:
Let's say there is a conflict squashing 1234 with 5 for whatever reason. I don't care what you do, but the result of the squash should be what i see if I were to checkout c5.
So yea, I don't understand why there are conflicts at all unless Git is trying to somehow store the individual changes every step of the way into a form of commit (doesn't make sense how this would be). I don't care about changes before c6.. so how do I go about creating
c6-->c7-->c8-->c9-->c10 (current)
Imagine there are 1000s of commits, and 100s of conflicts that arise when I run any rebase command.
It seems like such an obvious functionality that i'm 99% sure I just misread all of the guidance online.
I've also seen many tricks of saying...seamless effortless squish up to the current branch head for this branch....but then I don't have the last 4 commits usable to me.