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.
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.
merge
(a repository): To reconcile two sets of changes to a
repository.
protocol
A set of rules that define how one computer communicates with another.
Common protocols on the Internet include HTTP and SSH.
remote
(of a repository) A version control repository connected to another,
in such way that both can be kept in sync exchanging commits.
repository
A storage area where a version control system
stores the full history of commits of a project and information
about who changed what, when.
resolve
To eliminate the conflicts between two or more incompatible changes to a file or set of files
being managed by a version control system.
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.