It is possible for a git commit to have zero parents (initial commit), one parent (the direct ancestor in a linear path), two parents (generally referred to as a merge node) and more than two parents (also referred to as a merge but only possible using the octopus strategy).