Git Glossary
Git is famous for it’s weird and opaque jargon. Listed below are some common terms you will encounter on this course. The list is not exhaustive, and sacrifices accuracy for expediency. But it should be enough to get us started. Words in bold are explained somewhere else in this glossary.
Frequently encountered Git terms
Add
The command used to move file changes into the index (aka, staging area). You do this by clicking on the yellow untracked boxes in the Git pane.
Clone
A copy of, or the process of copying, a remote repository stored locally on your machine. Example: git clone https://github.com/user/ds-week-03-tutorial
.
Commit
A snapshot of your project at a specific point in time. Commits are used to track changes to your project.
Fork
A personal copy of someone else’s repository, typically used to contribute or start independent development. Similar to clone, except the fork is your own copy on your own GitHub account.
Git
A version control system used to track changes in code and collaborate with others.
GitHub
A cloud based storage space for Git repositories.
Icons
In the Git pane, Rstudio indicated the current status of each file in your project. For now there are three states you need to be aware of:
Untracked: A file on your system that Git has detected, but is not tracking Click to “add” it the Git database.
Added: A file that Git has been tagged for commit. Once committed, Git will notice any future changes to it.
Modified: a file that Git has been tracking, and has been changed since the last commit.
Ignore
You do not have to track every file in your project. You can ignore some by adding their names to the .gitignore
file.
Index
Also known as the staging area. It’s where changes are prepared before committing.
Pull
Fetches and integrates updates from a remote repository into your local repository.
Push
Sends your commits to a remote repository, making them available to others.
Repo See repository.
Repository
A directory containing all your project files and Git history. Can be local or remote (like GitHub).
Remote
A version of your repository that’s hosted on the internet (e.g. in GitHub).
Stage
The process of adding changed files to the staging area to include them in a commit.
Staging area
An “area” (see index) where added or modified files are placed to flag that they should be included in the next commit.
Tracked files
Files that have been “tagged” to for Git to monitor.
Untracked Files
Files that exist in your working directory but have been neither staged nor committed.
Working directory
The directory on your machine in which your project lives.
.gitignore
A special file that tells Git what not to track. You should commit this file.