Chapter 7 Glossary
7.1 Branch:
An independent development stream within a repository where you can develop new features independently without the fear of interrupting others’ workflows. See this book chapter for more info.
7.2 Commit:
A labelled set of changes to the code. A single commit an include changes to one or multiple files.
7.3 Commit hash:
A nickname for the 40 character git commit SHA-1 checksum value which represents a unique ID given to each commit in a git repo. Commit hashes are also often presented in their shortened 8-character form.
7.5 Git flow:
A strategy for organizing branches within a repository. Typically includes 5 branch types: Main, Develop, Feature, Release, and Hotfix. See this nice cheatsheet or this explanation for more info.
7.6 Git log graph:
Also called a source tree or “graph”, git log graphs are a visual representation of the structure of a repository (e.g., branches and commits) generated using the commits git log --graph
. A lot of software also has built-in git log graphs.
7.7 GitHub flavored-markdown (GFM):
GitHub’s version of the markdown syntax, which contains some additional functionality. See this great overview in GitHub’s Documentation for more info.
7.8 Issue:
A feature of GitHub that allows users to identify problems/bugs, keep track of tasks, receive feedback on changes, etc. See GitHub’s documentation section on Issues for more details.
7.9 Markdown:
A text-encoding system that allows you to format plain text and make it fancy (e.g., bold, italics). Markdown file extensions are “.md”. The text of this book is written in markdown - if you want to check out some of the .rmd files (short for R Markdown), follow this link.
7.10 Pull request (PR):
A way to “request” that the maintainers of a repository (sometimes you or sometimes somebody else) “pull” a set of changes that you’ve proposed into another branch. Pull requests can be used to merge changes from one branch to another within a single repository (see here for more details) or between a forked version of a repository (e.g., one that you don’t have write access to) and a branch in the original repository (see here for more info).
7.12 Remote:
The copy of the repository that is hosted on the internet or another serve (i.e., not the “local” version on your computer).
7.13 Squashed commits:
A way to effectively combine multiple previous commits into one new commit. (Note: technically the previous commits are not deleted, but for all intents and purposes you’ve now “squashed” them into one new commit.) Squashed commits can be very helpful when working on a branch that you want to then pull request to merge back into another branch.