Bundle commits / keep commits private on push
git, mercurial
Solution
The idea would be to make your commits on a dedicated branch, but to `git merge --squash` them on `master` (or any other public branch you intent to push), since it will produce one big commit. You would then push `master` on the remote repo.
See "In git, what is the difference between `merge --squash` and `rebase`?"
Problem
I want to keep some commits private on push, so I want that they get bundled into one big commit on the remote side. Locally they should remain splitted. A use case is for example the work on a static blog. The draft steps should be commited and tracked locally but on push I want only publish released versions. A solution in git and/or mercurial will be accepted.