Yuri <yuri@xxxxxxxxx> writes: > 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 don't. > Can I permanently hold some commits from being pushed while pushing others? Yes, you arrange these unrelated things (e.g. if commit1 and commit3 can become ready to be used without commit2 and commit4, there is *no* reason to build commit2 as a direct child of commit1 *AND* build commit3 as a direct child of commit2) into multiple branches, keep unrelated things separate and related things together, and push the branch commit1 & commit3 are on (obviously in your example they become ready to be consumed together while commit2 or commit4 are not, so they wouldn't be on the same commit as commit2 or commit4).