Hi Sitaram, Sitaram Chamarty wrote: > The outputs I got really confused me. Before the "rebase > -p", the tree looked like > > * 78ffda9... (refs/heads/work) b4 > * be1e3a4... b3 > * cd8d893... Merge branch 'master' into work > |\ > | * 0153c27... (refs/heads/master) a4 > | * 74f4387... a3 > * | f1b0c1c... b2 > * | 2e202d0... b1 > |/ > * b37ae36... a2 > * ed1e1bc... a1 > > But afterward, this is what it looks like -- all the "b" > commits are gone! > > * 0153c27... (refs/heads/work, refs/heads/master) a4 > * 74f4387... a3 > * b37ae36... a2 > * ed1e1bc... a1 > > What did I do wrong/misunderstand? Hmm, you are rebasing onto master which is merged into the branch you want to rebase. So, I think the correct output should be the same like git rebase without -p, ie * 1337bee... (refs/heads/work) b4 * deadbee... b3 * badbeef... b2 * fa1afe1... b1 * 0153c27... (refs/heads/master) a4 * 74f4387... a3 * b37ae36... a2 * ed1e1bc... a1 This is because master is already merged into work and a preserved merge will see that everything is already merged in. Well, so I think you've discovered a bug. > (2) git config alias.lg log --graph --pretty=oneline --abbrev-commit --decorate Funny, I have exactly the same alias, but named "logk". > git init > testci a1 a2 > git checkout -b work > testci b1 b2 > git checkout master > testci a3 a4 > git checkout work > git merge master > testci b3 b4 > git --no-pager lg # graph before rebase -p > git rebase -p master > git --no-pager lg # graph after rebase -p Thanks and regards, Stephan -- Stephan Beyer <s-beyer@xxxxxxx>, PGP 0x6EDDD207FCC5040F -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html