I don’t know much how to use rebase, but it seems the rebase only change the starting point to a more recent commit
in my case I did stuff on branch test that was pushed, another person pulled the changes B to E
In the mean time I changed slightly a commit, and I deleted (bad idea) my remote branch to recreate one with the same commits
so because of this now it looks after a merge:
A---B---C---D---E--F--G--H master
\--B'--C'--D'--E'/ test
B and B’ are the same, at same time, same commit message…, C, C’ also, ..D and D’ , E and E’
Is there other solution than git rebase -i, I tried it but you lose other branches merge history
I would actually like to remove B, C, D, E, Is it possible if the branches are already merged?
I have no right to push on remote master, only pulling
I tried pruning but those unecessary commits are not removed since they point to others
I would really like to rebase master A onto master E’, if it’s possible
thx for tips
edit : else, how could a person with push right could fix permanently that situation?
I can fix this by
git reset --hard A
git pull repo1 test (where test still is at E')
git rebase --onto F A master
but if the admin pulls it, I guess it will have no effect?, he should do this manip himself right before any other user pull from this mess?
The easiest way to get rid of that unwanted merge at F would be to create a grafts file and put there a line
<hash of F> <hash of E'>Then check with gitk that the history looks like you want it. If all looks file, the next step is to make that graft permanent by rewriting the recent commits:git filter-branch --tag-name-filter cat -- <hash of A>..masterFinally force-push the rewritten commits to the repository withgit push -f