Version Control with Git: Reference

Key Points

Tracking Changes Locally
  • git init initializes a new 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

Branching
  • git branch creates a new branch

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

  • merging does not delete any branches

Collaborating with GitHub
  • 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

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

Pull Requests
  • A fork is a git clone into your (GitHub) account

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

FIXME: more reference material.