I want to use next typical workflow:
- create new branch for feature, and checkout it
- do commits in feature branch
- checkout master
- merge with feature branch.
- push changes
It is very typical use case. However, there is one thing that anoying me - I dont want to show my branch commits to public. I just want to push only merge commit, without feature developing history.
One can propose to use git rebase with commits squashing. But in fact, such squashing is just workaround, not a real solution. I want to have all my commits localy, merge graph, for history purposes.
I want to get simmilar that I get with git svn dcommit - only merge commit is pushed onto the remote, but I see localy whole history of development, with feature commits, with two-parents merge node and appropriate merge graph.