Yuri wrote: > On 5/6/21 1:38 AM, Junio C Hamano wrote: > > Unlike centralized SCM like SVN and CVS, commits in Git are private > > until you make them public by pushing, and you do not allow other > > people to fetch/pull from the repository you actively work in. If > > your commits become public immediately after you make them, perhaps > > there is a room in your workflow for vast improvement. > > Let's say I make commit1, commit2, commit3 and then commit4. > > How can I push only commit1 and commit3, but not commit2 and commit4? You create a separate branch "for-upstream" based on the parent of commit 1. Then you chery-pick commit 1 and commit 3. You can leave the other branch as-is, and deal with that later, or you can rebaste that temporary branch on top of "for-upstream". Or you can rebase first, create a new branch from tmp~2, and then push it. > Can I permanently hold some commits from being pushed while pushing > others? Yes. -- Felipe Contreras