Version control for Programmers
Like Microsoft Word “Track Changes” feature with superpowers
Makes it easy for programmers to collaborate and work on the same codebase
SVN (subversion) and CVS are other version control programs (Git is the most popular)
Web-based Git repository hosting service
Built on top of git
Home to +90% of all open source projects
Morphed into a “social network” for developers
Most basic element of GitHub
A repository contains all of the project files
Stores each file’s revision history
Repositories can have multiple collaborators and can be either public or private.
A “revision”, is an individual change to a file (or set of files)
Git’s version of “saving”
Commits usually contain a commit message which is a brief description of what changes were made
Parallel version of a repository
It is contained within the repository, but does not affect the primary or master branch allowing you to work freely without disrupting the “live” version.
When you’ve made the changes you want to make, you can merge your branch back into the master branch to publish your changes
Merging takes the changes from one branch (in the same repository or from a fork), and applies them into another
This often happens as a Pull Request (which can be thought of as a request to merge)
Refers to sending your committed changes to a remote repository such as GitHub.com
For instance, if you change something locally, you’d want to then push those changes so that others may access them
A fork is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project
Most commonly, forks are used to either propose changes to someone else’s project or to use someone else’s project as a starting point for your own idea
Great resource for all things git can be found here