Torvalds wrote git because he was frustrated with the existing tools of the day. The Linux codebase was stored in CVS and code changes were introduced via patches that were emailed directly to Linus. It's important to note that git was designed to replace CVS and not email patches. Git is designed to support the sharing of commits over email. As others have pointed out; communication between developers is critical, git enables this like no tool that came before it ...and also branching!