Git and GitHub Glossary [Infographic]

GitHub Glossary #1: What is Repository?
The most fundamental element of GitHub, a repository is essentially a project’s folder, much like the kind of folder you would see in a Dropbox or Google Drive folder.
Repositories store every single project file, its documentation and its revision history of every document. Repositories can also accept multiple private or public collaborators.
GitHub Glossary #2: What is Commit?
Commits are easily one of the most frequented activities by a developer using GitHub. Simply put, a commit or revision is like ‘saving’ an updated file to its original folder and overwrites an older version (though as we already know, Git is great for version control). GitHub, for example describes a ‘commit’ as:
“an individual change to a file (or set of files). It’s like when you save a file, except with Git, every time you save it creates a unique ID (a.k.a. the “SHA” or “hash”) that allows you to keep record of what changes were made when and by who. Commits usually contain a commit message which is a brief description of what changes were made.” – help.github.com
GitHub Glossary #3: What is Clone?
Clones are literally clones (copies) of a repository that sit on the developer’s computer instead of a server elsewhere.
Clones are great since you can download a code file to tinker around with offline or to be edited in a preferred code editor or integrated development environment.
GitHub Glossary #4: What is Branch?
A branch is a parallel version of a repository (ie; it literally branches out or away from the main repository, kind of like a temporary sub-folder).
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.
The beauty about ‘branches’ is that you can merge it back into the master branch when you’re ready to publish your changes.
GitHub Glossary #5: What is Fetch?
Fetching refers to getting the latest changes from an online repository (like GitHub.com) without merging them in. Once these changes are fetched you can compare them to your local branches (the code residing on your local machine).
GitHub Glossary #6: What is Fork
According to help.github.com, a ‘fork’ is a personal copy of another user’s repository that lives on your GitHub account.
Forks allow you to freely make changes to a project without affecting the original, enabling limitless opportunities for experimentation and learning from other people’s work.
A forked project also remains attached to the original, allowing you to submit a pull request to the original’s author to update with your changes, ensuring you’re always working off a recent or up-to-date codebase.
GitHub Glossary #7: What is Push?
Pushing 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.
GitHub Glossary #8: What is Issue?
Issues unsurprisingly are exactly as they sound. Issues are suggested improvements, tasks or questions related to the repository.
Issues can be created by anyone (for public repositories), and are moderated by repository collaborators. Each issue contains its own discussion forum, can be labeled and assigned to a user.
GitHub Glossary #9: What is Blame?
The role of the Blame feature on GitHub passes ‘blame’ on the version of the code file that resulted in an error occurring. As it states on GitHub:
“The “blame” feature in Git describes the last modification to each line of a file, which generally displays the revision, author and time. This is helpful, for example, in tracking down when a feature was added, or which commit led to a particular bug.” – help.github.com
GitHub Glossary #10: What is Merge?
Merging takes the changes from one branch (in the same repository or from a fork), and applies them into another.
A merge can be done automatically via a Pull Request via the GitHub.com web interface if there are no conflicting changes, or can always be done via the command line.
By now you should be equipped with knowledge of Git and GitHub top terminologies and features of which you should hopefully start putting into practice. Of course, there are plenty of other rich features of GitHub especially, which we implore you to discover on your own.
Conclusion
Git, together with GitHub and other similar services, is what helps drive much of the innovation that makes the internet the productive behemoth it is today.