Version control with Git: Glossary

Key Points

Introduction
  • Git is a version control tool; one of many.

  • GitHub is a repository hosting service; one of many.

  • Use version control to store versions neatly, restore previous versions, understand what happened (and why), and always know which is the current version.

Hello git
  • lets configure git

  • git init initializes a new repository

Tracking changes with a local repository
  • git status shows the status of a repository

  • Files can be stored in a project’s working directory (which users see), the staging area (where the next commit is being built up) and the local repository (where commits are permanently recorded)

  • git add puts files in the staging area

  • git commit saves the staged content as a new commit in the local repository

  • Always write a log message when committing changes

Looking at history and differences
  • git log shows the commit history

  • git diff displays differences between commits

  • git checkout recovers old versions of files

  • HEAD points to the commit you have checked out

  • master points to the tip of the master branch

  • git branch creates a new branch

  • Use feature branches for new ideas and fixes, before merging into master

  • merging does not delete any branches

Git with others
  • Git is the version control system: GitHub is a remote repositories provider.

  • git clone to make a local copy of a remote repository

  • git push to send local changes to remote repository

  • git pull to integrate remote changes into local copy of repository

Community, Contribution
  • A fork is a git clone into your (GitHub) account

  • A pull request asks the owner of a repository to incorporate your changes

Glossary

FIXME