Git Cheatsheets for Quick Reference

An interactive one-page visualisation
about the relationships between workspace, staging area, local repository, upstream repository, and the commands associated with each (with explanations).

Both resources are also available in other languages (e.g. Spanish, French, and more).

“Happy Git and GitHub for the useR” is an accessible, free online book by Jenny Bryan on how to setup and use Git and GitHub with specific references on the integration of Git with RStudio and working with Git in R.

Glossary

To record the current state of a set of files (a changeset)
in a version controlrepository. As a noun,
the result of committing, i.e. a recorded changeset in a repository.
If a commit contains changes to multiple files,
all of the changes are recorded together.

conflict

A change made by one user of a version control system
that is incompatible with changes made by other users.
Helping users resolve conflicts
is one of version control’s major tasks.

HTTP

The Hypertext Transfer Protocol used for sharing web pages and other data
on the World Wide Web.

SHA-1 hashes is what Git uses to compute identifiers, including for commits.
To compute these, Git uses not only the actual change of a commit, but also its metadata (such as date, author,
message), including the identifiers of all commits of preceding changes. This makes Git commit IDs virtually unique.
I.e., the likelihood that two commits made independently, even of the same change, receive the same ID is exceedingly
small.

SSH

The Secure Shell protocol used for secure communication between computers.

timestamp

A record of when a particular event occurred.

version control

A tool for managing changes to a set of files.
Each set of changes creates a new commit of the files;
the version control system allows users to recover old commits reliably,
and helps manage conflicting changes made by different users.