Git is a Distributed Version Control System (DVCS) used to save different versions of a file (or set of files) so that any version is retrievable at will.
Also, Git makes it easy to record and compare different file versions. This means that details about what changed, who changed what, or who initiated an issue are reviewable anytime.
GitHub is a web-based platform for hosting (or sharing) Git repositories. It helps you facilitate easy sharing and collaboration on projects with anyone at any time.
Recursion is a method by which a problem gets solved through iteration. In other words, a recursive function is a function that repetitively invokes itself infinitely (or until something stops it).